1、第二章 系统安全需求分析本章从数据安全和业务逻辑安全两个角度对应用系统安全进行需求分析,关键包含保密性需求、完整性需求、可用性需求三部分;随即对业务逻辑安全需求进行了分析,包含身份认证、访问控制、交易反复提交控制、异步交易处理、交易数据不可否认性、监控和审计等多个方面;最终还分析了系统中部分其它安全需求。2.1 数据安全需求2.1.1数据保密性需求数据保密性要求数据只能由授权实体存取和识别,预防非授权泄露。从现在中国应用安全案例统计数据来看,数据保密性是最易受到攻击一个方面,通常表现为用户端发生数据泄密,包含用户基础信息、账户信息、登录信息等泄露。在应用系统中,数据保密性需求通常关键表现在以下
2、多个方面:A用户端和系统交互时输入各类密码:包含系统登录密码、转账密码、凭证查询密码、凭证交易密码等必需加密传输及存放,这些密码在应用系统中只能以密文方法存在,其明文形式能且只能由其正当主体能够识别。以网银系统为例,在网银系统中,通常存有四种密码:系统登录密码、网银转账密码、柜面交易密码及一次性密码。系统登录密码用来认证目前登录者为指定登录名正当用户,网银用户登录密码和网银转账密码由用户在柜面开户时指定,用户在首次登录网银系统时,系统必需强制用户修改初始密码,通常要求长度不得少于六位数,且不能是类似于111111、1234567、9876543等简单数字序列,系统将进行检验。网银转账密码是指网
3、银系统为巩固用户资金安全,在包含资金变动交易中对用户身份进行了再认证,要求用户输入预设密码,网银交易密码仅针对个人用户使用,企业用户没有网银交易密码。建立多重密码机制,将登录密码和网银转账密码分开管理,有利于加强密码安全性。因为用户在使用网银时每次全部必需先提供登录密码,故登录密码暴露机会较多,安全性相对较弱;但登录网银用户并不是每次全部会操作账户资金,所以专门设定网银转账密码可加强账户安全性。网银转账密码在网银开户时设定,网银用户在系统中作转账支付、理财、代缴费等资金变动类交易时使用。柜面交易密码是指用户在银行柜面办理储蓄时,针对储蓄凭证(如卡折、存单等)而设密码。柜面交易密码常见于POS系
4、统支付时、ATM取款时、凭证柜面取款时,柜面交易密码一个显著特征是它现在只能是六位数字,这是因为现在柜面密码输入设备限制而造成。柜面交易密码和上述网银转账密码区分在于:网银转账密码和系统登录密码全部产生于网银系统,储存在网银系统中,仅限网银系统中认证使用;而柜面交易密码产生于银行柜台,能够在外围渠道如ATM、电话银行、自助终端上修改,它保留在银行关键系统中,供外围各个渠道系统共同使用。另外网银转账密码能够有非数字字符组成,而柜面交易密码只能是六位数字。网银中使用到柜面交易密码交易包含:网银开户、加挂账户。一次性密码由用户智能卡、令牌卡产生,或由动态密码系统产生经过短信方法发送到用户注册手机上。
5、一次性密码作用和网银转账密码相同,适用场所也相同。一次性密码在农商行网银系统中是可选安全服务,用户需到柜面办理开通手续才能使用,没有开通一次性密码服务用户必需设定网银交易密码,开通一次性密码服务用户则无需设定网银交易密码,要求网银系统自动判定并提醒用户在某个交易中是要输入网银交易密码还是提醒一次性密码。B应用系统和其它系统进行数据交换时在特定安全需求下需进行端对端加解密处理。这里数据加密关键是为了预防交易数据被银行内部人士截取利用,具体通讯加密方案参考应用系统特定需求。 2.1.2数据完整性需求数据完整性要求预防非授权实体对数据进行非法修改。用户在跟应用系统进行交互时,其输入设备如键盘、鼠标等
6、有可能被木马程序侦听,输入数据遭到截取修改后被提交到应用系统中,如原本用户准备向A账户转一笔资金在交易数据遭到修改后就被转到B账户中了。一样威胁还存在于交易数据传输过程中,如在用户向应用系统提交网络传输过程中或应用系统跟第三方等其它系统通讯过程中,另外存放在应用系统数据库中数据也有可能遭到非法修改,如SQL注入攻击等。2.1.3数据可用性需求数据可用性要求数据对于授权实体是有效、可用,确保授权实体对数据正当存取权利。对数据可用性最经典攻击就是拒绝式攻击(DoS)和分布式拒绝攻击,二者全部是经过大量并发恶意请求来占用系统资源,致使正当用户无法正常访问目标系统,如SYN Flood攻击等,将会直接
7、造成其它用户无法登录系统。另外,应用登录机器人对用户密码进行穷举攻击也会严重影响系统可用性。2.2 业务逻辑安全需求业务逻辑安全关键是为了保护应用系统业务逻辑根据特定规则和步骤被存取及处理。2.2.1身份认证需求身份认证就是确定某个个体身份过程。系统经过身份认证过程以识别个体用户身份,确保个体为所宣称身份。应用系统中身份认证可分为单向身份认证和双向身份认证,单向身份认证是指应用系统对用户进行认证,而双向身份认证则指应用系统和用户进行相互认证,双向身份认证可有效预防“网络钓鱼”等假网站对真正系统冒充。应用服务器采取数字证书,向用户端提供身份认证,数字证书要求由权威、独立、公正第三方机构颁发;系统
8、为用户端提供两种可选身份认证方案,服务器端对用户端进行多重身份认证,要求充足考虑到用户端安全问题。将用户端用户身份认证和账户身份认证分开进行,在用户登录系统时,采取单点用户身份认证,在用户提交更新类、管理类交易请求时,再次对用户操作进行认证或对用户身份进行二次认证,以确保用户信息安全。2.2.2访问控制需求访问控制要求了主体对客体访问限制,并在身份识别基础上,依据身份对提出资源访问请求加以控制。访问控制是应用系统中关键安全策略,它关键任务是确保应用系统资源不被非法访问。主体、客体和主体对客体操作权限组成访问控制机制三要素。访问控制策略能够划分为自主访问控制、强制访问控制和基于角色访问控制三种。
9、2.2.3 交易反复提交控制需求交易反复提交就是同一个交易被数次提交给应用系统。查询类交易被反复提交将会无故占用更多系统资源,而管理类或金融类交易被反复提交后,后果则会严重多,譬如一笔转账交易被提交两次则将造成用户账户被转出两笔相同额资金,显然用户只想转出一笔。交易被反复提交可能是无意,也有可能是有意:A用户误操作。在B/S结构中,从用户端来看,服务器端对用户端响应总有一定延迟,这在一些交易处理上表现更为显著,尤其是那些包含多个系统交互、远程访问、数据库全表扫描、页面数据署名等交易,这种延迟通常全部会在5至7秒以上。这时用户有可能在页面已提交情况下,再次点击了提交按钮,这时将会造成交易被反复提
10、交。B被提交交易数据有可能被拿来作重放攻击。应用系统必需对管理类和金融类交易提交次数进行控制,这种控制即要有效杜绝用户误操作,还不能影响用户正常情况下对某个交易数次提交。比如说:当某个用户在10秒内提交了两笔相同转账业务,则系统必需对此进行控制;其次,当用户在第一笔转账业务完成后,再作另一笔数据相同转账时,则系统不能对此进行误控制。这里判定依据就是交易反复提交控制因子a,当交易提交间隔小于a时,系统认为这是反复提交,提交间隔大于a则不作处理,控制因子大小由应用系统业务人员决定,系统应可对其进行配置化管理。2.2.4异步交易处理需求所谓异步交易就是指那些录入和提交不是同时完成交易,这里同时是指用
11、户端在录入交易数据和提交交易过程中,应用系统服务器端并没有对录入数据进行持久化保留,而异步交易在系统处理过程中,录入和提交时间上发生在两个相分离阶段,在两阶段之间,应用系统对录入数据进行了持久化保留。因为异步交易是被系统分两阶段受理,这就包含到以下三个方面问题:A 录入和提交关系管理。B 怎样确保提交数据就是用户当初录入数据。C 怎样统计交易在两阶段日志状态。录入和提交关系定义不妥将会造成交易录入和提交被同时完成而违反了业务处理步骤,录入数据被系统保留后有可能遭到非法篡改,非异步交易实施后日志状态不会被更新而异步交易在提交后日志状态将会被更新。应用系统中需要定义成异步交易通常有以下两类: 需要
12、授权交易。出于业务管理和业务安全方面考虑,大部分管理类和金融类交易全部需要经过一定授权步骤后方能被提交。 部分定时交易,如预约转账等。预约一笔在周三转账预约转账有可能是周一被录入,用户在录入后,预约转账数据将被网银系统保留直到周三这笔转账才会真正发生。应用系统必需定义简单、清楚、易维护录入和提交关系模型,确保被保留录入数据不会被非法篡改,同时要求异步交易日志状态是明确,不应出现录入和提交相矛盾日志状态。2.2.5交易数据不可否认性需求交易数据不可否认性是指应用系统用户不能否认其所署名数据,用户对交易数据署名是经过应用系统使用用户数字证书来完成。数字证书应用为交易数据不可否认性提供了技术支持,而
13、电子署名法颁布为交易数据不可否认性提供了法律基础。在应用系统中通常要求对全部管理类和金融类交易进行数字署名,以防用户事后对交易或交易数据抵赖。应用系统需同时保留用户录入原始数据和署名后数据,保留期限依业务部门具体要求而定。考虑到系统性能和对用户响应问题,应用系统可只签和交易相关关键数据,支付类交易只对付款人账号、付款金额、收款人姓名、收款人账号、收款人开户行五个字段进行数字署名就能够了。2.2.6监控和审计需求安全等级要求高应用系统应提供对系统进行实时监控功效,监控内容包含系统目前登录用户、用户类型、用户正在访问交易、用户登录IP等。对金融类、管理类交易和应用系统登录交易需要完整地统计用户访问
14、过程,统计关键元素包含:用户登录名、登录IP、交易日期立即间、交易名称、交易相关数据等,对有授权步骤交易要求完整统计授权经过,授权统计和交易统计分开存放。 2.3 其它安全需求2.3.1 登录控制需求登录通常是应用系统关键交易,系统经过登录交易对用户身份进行认证。针对不一样角色用户指定不一样登录策略: 最小权限集用户,可使用用户登录名+静态登录密码+图形识别码方法登录。低安全性。 一般权限集用户,可使用用户登录名+动态登录密码+数图形识别码方法登录。 高权限集用户,可使用用户登录名+数字证书+静态密码+数图形识别码方法登录。 全部权限集用户,可使用用户登录名+数字证书+动态密码+数图形识别码方
15、法登录。应用系统可提供用户端加密控件对用户输入密码域进行加密处理后再提交。连续登录数次失败用户,其IP将被应用系统锁定,二十四小时后系统将自动对锁定IP进行解锁。这里登录失败次数和IP锁定时长依据业务需求说明应由配置文件进行设定。对于首次登录系统用户,系统将强制订位到修改密码页面,要求用户修改初始密码重新登录方可使用系统。对于密码类型和长度,系统将规则检验。对于成功登录用户,应用系统自动清除其连续登录失败次数,同时初始化用户相关数据并同时对登录数据进行统计,以备审计。2.3.2 会话控制需求经过应用服务器本身会话管理或应用程序会话管理全部能够控制会话时长设定,设置过久会话将给用户端带来安全风险
16、,而设置过短则影响用户正常使用。该机制使在应用层无状态HTTP/HTTPS协议,能够支持需要状态统计互联网应用,实现用户登录后在新状态下从事交易、超时断路等功效。2.3.3 被访问对象控制需求应用系统对用户关键资源或信息,提供操作权限设置支持,权限分为:查询和更新两类。权限为查询资源或信息只能对其进行查询操作,不能进行更新。资源权限由开户时指定,为加强安全性,权限分配可经过落地处理开通。2.3.4 交易提醒需求交易提醒是指将用户账号和用户手机号、电子邮件等关联起来,当用户信息发生变动时,向用户手机发送一条短信或电话通知或发送一封电子邮件,立即正确通知用户。另经过通知提醒功效,系统应定时向用户发
17、送统计、明细、确定等信息。第三章 应用系统安全总体处理方案3.1 安全技术安全技术是安全子系统理论基础,安全子系统中关键包含安全技术包含:密码技术、PKI技术体系、一次性口令技术等,另外考虑到现在实际应用中,大部分WEB应用系统是基于J2EE平台,J2EE平台本身也对系统安全提供了较多内置支持,如JAAS技术等,所以本章中对于J2EE平台安全技术特征也有少许讨论。3.1.1 密码技术密码技术是保护信息系统安全基础技术之一,密码技术能够确保数据保密性和完整性,同时它还含有身份认证和数字署名功效。从密码体制方面来说,密码技术可分为对称密钥密码技术和非对称密钥密码技术两大类。在应用系统中常见密码技术
18、关键有以下多个:A加密解密技术加密(Encryption)就是指经过特定加密算法对数据进行变换,将明文(Plaintext)转换成密文(Cryptograph);解密(Decryption)是加密逆过程,解密过程就是将密文还原为明文。设明文为P,密文为C,E为加密算法,D为解密算法,则加密解密过程能够记为: (3.1)上述加密和解密过程没有使用到密钥,通常称之为无密钥密码体制。无密钥密码关键依靠加密算法提供保密性,在应用系统中这种密码极少用到,关键使用还是有密钥密码体制,在有密钥密码体制中,密文保密性依靠于密钥而不依靠于算法,算法能够公开。其中,只有一个密钥K密码体制称为单钥体制(One-ke
19、y System),又称对称加密体制(Symmetrical Encryption);有加密密钥KE和解密密钥KD两个密钥密码体制称为双钥体制(Two-key System),又称非对称加密体制(Dissymmetrical Encryption),有时也叫公开密钥算法(Public Key Algorithm)。应用系统中常常使用最广泛对称加密算法是DES算法 (Data Encryption Standard),非对称加密算法是RSA算法(Receive,Shamir,Adelman)。单钥体制加密解密过程能够记为: (3.2)上式用图示能够表示为:明文密文明文加密密钥K解密密钥K图5 单
20、钥体制加密解密过程图双钥体制加密解密过程能够记为: (3.3)上式用图示能够表示为: 明文密文明文加密密钥KE解密密钥KD图6 双钥体制加密解密过程图还有一个应用系统中常常见到加密技术是数据摘要,数据摘要就是应用单向散列函数算法,将输入任意长度明文变换成固定长度密文,而将此密文再转换成明文在数学上来说是困难。应用系统中应用最广泛数据摘要算法关键有MD5和SHA两种,MD5输出压缩值为128bits,SHA输出压缩值为160bits。设Hash表示单向散列函数,则数据摘要过程能够记为: (3.4)上式用图示能够表示为:明文密文明文加密密钥K解密密钥K密文明文Hash图7 数据摘要过程图B数字署名
21、。数字署名是指经过密码算法对原始数据信息进行加密处理后,生成一段原始数据信息信息标识,这段信息标识称为原始数据信息数字署名。通常数字署名和原始数据信息是放在一起发送,这么便于信息接收者对其进行验证,数字署名是对现实中手写署名和印章模拟,数字署名只有信息发送方一人能产生,这种唯一性对应了原始数据信息起源。数字署名含有验证数据完整性和信息起源不可否认性功效,这正是PKI体系提供关键功效。在应用系统中,较小数据能够直接署名,而较大数据或文件通常先对其作数据摘要后再对数据摘要作数字署名。下式表示了对一段原始数据信息进行署名过程:原始数据信息OriginalMsg先是被单向散列函数Hash作数据摘要生成
22、摘要信息DigestMsg,然后应用非对称加密算法DissymmetricalEncrypt及其私钥Keyprivate对数据摘要进行署名(私钥仅有发送方持有,公钥需散发给接收方),最终将署名结果DigitalSignature和原始数据信息一起发送给接收方: (3.4)上式用图示能够表示为:OriginalMsgKeyprivavteDigitalSignatureHashDissymmetricalEncrytDigestOriginalMsg + DigitalSignature图8 数字署名过程图信息接收方在接收到原始数据信息OriginalMsg和其数字署名DigitalSignat
23、ure后,能够对数字署名进行验证。首先分离出二者,然后对原始数据信息应用一样单向散列函数Hash对其作数据摘要得到Digest2,再对接收到数字署名应用非对称加密算法DissymmetricalEncrypt及其公钥Keypublic对其进行解密,得到Digest1。比较Digest1和Digest2,假如二者一样则证实:1信息OriginalMsg及其数字署名DigitalSignature是真实,确实来自于私钥Keyprivate持有方。2信息OriginalMsg及其数字署名DigitalSignature在发送过程中是完整,未曾遭到篡改。3私钥Keyprivate持有方发送了信息Ori
24、ginalMsg及其数字署名DigitalSignature这件事是不可否认。上述数字署名验证过程能够表示为: (3.5)用图形表示以下:KeypublicOriginalMsgDigitalSignatureHashDissymmetricalEncrytDigest2OriginalMsg + DigitalSignatureDigest2二者相同?图9 数字署名验证过程图C报文识别码应用系统跟其它系统通讯时大全部是经过发送接收报文方法进行,除比较常见ISO8583,sop报文等,还有比较多就是自定义报文格式,自定义报文需要处理报文保密性和完整性问题,报文完整性能够经过加密算法生成原始报文
25、报文标识来识别,这个加密后报文标识称为原始报文识别码,也叫报文校验码MAC(Message Authentication Code)。而报文保密性能够经过对整个报文及其识别码进行加密处理来完成,实际应用中识别码通常能够经过单向散列函数对原始报文作数据摘要得到,然后对原始报文和数据摘要作对称加密,这么既确保了报文完整性,同时也确保了报文保密性,这里对称加密算法密钥分发是关键问题。D数字信封数字信封DE(Digital Envelope)是指信息发送方在通讯双发首次通讯时,使用对方公钥对双方通讯密钥SK(Symmentric Key)进行加密,形成一个数字信封,然后发给接收方,接收方收到数字信封后
26、进行拆封操作,用自己私钥对信封进行解密得到通讯密钥,然后双方能够用通讯密钥对自己发送信息进行对称加密2。这么既处理了对称加密密钥分配问题又提升了双方通讯加密效率,毕竟非对称加密算法比对称加密算法效率要低下。3.1.2 PKI体系PKI体系是由政策机构、认证机构和注册机构组成,经过使用单向散列函数、非对称加密体制等加密解密技术,安全套接字协议SSL,LDAP协议(Lightweight Directory Access Protocol),X.509证书标准等技术,实现数据加密、身份认证和数字署名等功效,从而确保数据保密性、完整性、真实性和不可否认性一个技术体系。PKI体系很好处理了网上银行大部
27、分安全需求,对网上银行数据安全和业务逻辑安全提供了有力支持。CA是PKI体系关键实体,数字证书是CA关键产品,CA经过数字证书应用来实现PKI体系所提供功效。1PKI组成PKI由政策同意机构PAA、政策CA机构PCA、认证机构CA和注册机构RA组成。PAA创建整个PKI系统方针、政策,同意本PAA下属PCA政策,为下属PCA签发公钥证书,建立整个PKI体系安全策略,并含有监控个PCA行为责任。PCA制订本身具体政策,包含密钥产生、密钥长度、证书使用期要求及CRL处理等,同时PCA为其下属CA签发公钥证书。CA根据上级PCA制订政策,为具体用户签发、生成并公布数字证书,负责CRL管理和维护。RA
28、负责接收用户证书申请,验证用户身份,向CA提交证书申请,验证接收CA签发数字证书,并将证书发放给申请者。PKI组成图示以下:PCA1RA1PAAPCAnRAnCAnRAnRA1CAnCA1CA1图10 PKI体系结构图2PKI操作功效证书生成及分发。在用户向RA提交数字证书申请后,RA负责对申请者身份进行认证,认证经过后RA将向CA转发证书申请。CA负责生成用户数字证书,数字证书公私密钥对能够由用户产生,也能够由CA产生。用户自己产生公钥需提交给CA,CA对公钥强度验证后将依据用户提交公钥产生用户数字证书;假如是CA产生用户公私密钥对,则CA不保留用户私钥,私钥需经过安全方法发放给用户。CA生
29、成证书后将其公布到对应目录服务器上。证书获取。在PKI体系中,要获取某个用户数字证书,能够RA处取得,也能够查询CA证书目录服务器,另外用户也能够将自己证书发送给她人。证书废止。数字证书持证人假如发生证书丢失、密钥泄漏时,持证人能够向CA或RA提交证书废止请求,CA将会把用户证书加入到废止列表中。废止列表CRL获取和查询。因为CRL通常全部比较大,在线查询效率比较低下,所以现在通常在RA端建立一个CRL镜像,定时将CA端CRL同时到当地,同时又分全部CRL同时和增量同时两种,全部CRL同时好处能确保CRL数据一致,缺点是同时数据量庞大,通常也没有必需进行全局同时。增量同时就是每次只同时CA端新
30、增CRL部分,增量同时数据量较小,比较符合现实。CRL查询能够经过LDAP等访问。证书恢复。证书恢复功效为用户在证书存放介质损坏或遗忘口令等情况下,提供原证书恢复,申请者向RA或CA提出证书恢复请求,CA将会为用户生成新数字证书,原来证书将作废,同时还会将其加入CRL中。证书更新。证书更新用于处理用户证书到期后续费问题,也有可能是用户证书并未抵达使用期而是CA或RA本身数字证书抵达了使用期。这时用户需更新证书,CA将会为用户签发新数字证书。3PKI服务功效PKI提供服务功效包含:数据保密性服务、数据完整性服务、数据真实性服务、数据不可否认性服务和身份认证服务。这些服务全部是经过数字证书应用来实
31、现,在集成这些服务时,还需要应用系统作部分支持才能真正实现这些服务。3.1.3 一次性口令技术所谓一次性口令(OTP,One Time Password)是指针对传统可反复使用口令而言。一次性口令只能使用一次,不可反复使用。可重用口令易受种种攻击:截取攻击:当口令以明文方法在网络上传输时,轻易被攻击者截取取得,一旦口令泄漏则可能被未授权者非法使用。重放攻击:当口令以密文方法在网络上传输时,即使攻击者无法获取口令明文,但攻击者能够截取口令密文后对系统实施重放攻击。穷举攻击:攻击者还有可能针对用户登录名,依据系统对口令限定规则,尝试规则范围内各个可能口令,对用户口令实施穷举攻击。窥探:用户在输入可
32、反复使用口令时肯定要借助某种输入设备,如键盘、鼠标、手写笔等,这时轻易被她人或其它录影设备窥探到输入内容,也有可能被木马程序等统计了击键事件而分析出口令。社交工程:攻击者经过利用大家心理弱点、本能反应、好奇心、信任、贪婪等心理陷阱经过电子邮件、电话访谈、钓鱼网站等骗取用户口令。垃圾搜索:攻击者伪装成垃圾工人搜集用户垃圾文档用以分析用户口令等。一次口令因为每次使用各不相同口令,所以并不存在上述问题。一次口令并不要求用户记住多个口令,所以也不会增加用户和系统负担。一次性口令原理:在用户端和服务器端各存在一个相同算法、一个和用户相关种子、一个不确定因子,每次系统对用户进行认证时,用户将不确定因子追加
33、到种子后,然后用算法对其加密算出一个结果,这个结果作为一个一次性口令提交给服务器,服务器端用相同算法对相同种子和不确定因子进行运算,将得出结果和用户提交结果进行比较,相同则说明用户输入口令是正确。一次性口令技术要求服务器端含有和用户端相同算法、种子及不确定因子。这里关键是怎样确保用户端、服务器端含有相同不确定因子。两端不确定因子选择方法关键有以下三种:1挑战应答方法。每次用户请求登录系统时,服务器端将不确定因子发送给用户,称为一次挑战,而用户提交口令是依据发送来不确定因子,和用户端保留种子,由用户端保留算法计算出来,所以每次计算出口令不相同。这里算法能够采取单向散列函数算法,也能够采取对称加密
34、算法。不确定因子采取挑战应答方法原理能够图示以下:返回登录结果利用算法对种子和因子进行运算得出登录口令并提交发送不确定因子请求登录,输入用户名用 户系 统图11 一次性口令应用原理图2时间同时方法。用户端和服务器端以时间作为不确定因子,这里要求双方时间是严格同时,正确度能够控制在约定范围内,比如说双方时间差不超出一分钟。3事件同时方法。用户端和服务器端以单向序列迭代值作为不确定因子,这里要求双方每次迭代值大小相同。这种方法实现代价比时间同时方法小得多,而且也不用向挑战应答方法那样多出个挑战交互,这种方法用户端以单向迭代作为挑战,迭代作为规则能够在用户端实现。3.1.3 基于J2EE平台相关安全
35、技术1语言内置安全技术Java语言含有强类型检验,在编译时就能对变量类型进行检验;自动内存管理,在C、C+中内存分配和回收全部需要程序员负责完成,在大型应用中内存泄漏是个颇为棘手问题,而Java内置垃圾回收机制,由系统负责内存管理;字节码检验,JVM(Java Virtual Machine)对源代码编译生成字节码进行检验,预防恶意代码对运行环境破坏;安全类装载机制,确保不信任代码不会影响其它Java程序运行。2密码技术支持JCA(Java Cryptography Architecture)和JCE(Java Cryptographic Extension)为加密、解密、数字证书、数据摘要提
36、供完整支持;提供对多种密码算法支持,包含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
37、 Security (TLS)、SSL、Kerberos、SASL等协议实现,提供对基于SSL/TLSHTTPS完全支持,为数据完整性、保密性提供支持确保通讯安全。5为PKI提供支持J2EE提供管理密钥和证书工具,广泛抽象APIs对X.509证书、废止列表、证书路径、OCSP (On-Line Certificate Status Protocol)、PKCS#11、PKCS#12、LDAP等提供支持,大大简化了PKI应用开发和布署难度3。3.2 网络总体结构应用系统总体拓扑图参考以下示:图12 应用系统总体拓扑图参考用户经过Internet网络向应用系统提议请求,请求在抵达Web服务器之前将
38、经过NSAE(使用两台带SSL加速卡SSL安全网关服务器,并配置为热备布署模式)建立128位SSL加密通信通道。系统应用服务器经过有NSAE经由Web服务器传过来Request对象获取用户端证书(假如用户端采取数字证书认证话)。在登录步骤,系统应用服务器经过身份认证及署名验证服务器(NetSign Server)所提供API验证用户证书有效性并完成登录。在交易过程中需要对交易署名时,经过用户端署名控件对页面信息进行署名,署名结果信息及原始信息传输至应用服务器后,经过署名验证服务器(NetSign Server)提供API将署名结果和原始信息和用户端证书传至署名验证服务器进行验证。一次性口令验证
39、由系统应用程序调用动态密码系统服务适配器,由动态密码服务器完成验证并返回结果。短信密码发送,由动态密码服务器向短信网关SMS Gateway发送请求实现。3.3 网络层方案选择3.3.1 安全连接协议系统用户端至服务器端安全连接常见协议有SSL、SPKM可供选择4。SPKM(Simple Public Key Mechanism)协议,用于建立点对点之间安全通道,结合数字证书关键适适用于内联网环境,在利用于互联网时有以下问题5:1因用户端在跟服务器端建立连接时需要访问CRL,而SPKM协议固有原因会造成用户端对废止列表访问时间过长。2SPKM协议在用户端对整个页面进行数字署名也是没有必需,并不
40、是用户提交全部页面全部需要数字署名,而且就算某个页面需要数字署名通常也不是页面中全部元素全部是需要数字署名。比如对于行外转账交易而言,收款人姓名、收款人账号、收款人开户行、转账金额、付款人账号是其五要素,用户在提交转账交易时只需对这五要素进行数字署名就能够了,而页面上还有部分诸如是否发送Email通知等要素就没必再被署名了。超出需求要素被署名,首先将会增加网络流量,同时还会造成服务器对应迟滞。3因为SPKM协议并非普遍采取安全通讯协议,所以在通用浏览器如IE、Navigator等中没有支持,需要下载安装用户端软件,这就增加了系统安装、维护、使用难度。SSL(Security Socket La
41、yer)协议已得到各主流浏览器内置支持。因为标准SSL协议,在采取用户端证书时,并未对用户交易数据进行显式署名,造成应用系统无法统计交易数据数字署名,给在技术层面维护交易不可否认性带来了一定困难6。在应用系统中我们采取SSL协议来建立安全连接。SSL协议署名问题可经过在用户浏览器端安装署名控件来完成,署名控件首先能够完成数字署名,其次,经过自定义署名格式,只对需要页面要素进行署名,去除无须要数据被署名。3.3.2 安全区域划分经过三台防火墙将网络划分为四个逻辑区域,按由外到内次序布署。第一道防火墙之外是Internet区(非授信区);第一道防火墙和第二道防火墙之间是Web区,在此区域中布署SS
42、L服务器和应用系统和网站系统Web服务器等其它第三方应用系统;第二道防火墙和第三道防火墙之间是系统及网站应用/DB区,在此区域中布署应用服务器和数据库服务器;第三道防火墙以后为其它关键系统、中间业务平台等第三方业务系统。3.3.2 网络层安全组件应用系统最外端布署了绿盟黑洞抗DoS攻击系统COLLAPSAR600D-5-B,以控制拒绝式攻击和分布式拒绝攻击;防火墙采取是天融信防火墙产品NGFW4000-G,入侵检测则采取是启明入侵检测NS500系统,漏洞扫描软件采取是冠群金辰承影网络漏洞扫描器,原有系统被两道防火墙分隔成三个区。系统布署时要求在停火区中再增加一道防火墙,首先隔离Web服务器和应
43、用服务器;其次隔离应用服务器和其它关键系统。增加防火墙仍然采取是天融信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、Li
44、nux、NT系统通常包含很多网络服务应用程序,如FTP、Telnet等,有些无须要网络服务程序必需禁用并关闭对应端口。3.5 应用层方案选择3.5.1 数字证书国外比较著名数字证书有:Verisign、Etrust、Baltimore等;中国应用比较广泛数字证书关键有中国金融认证中心CFCA数字证书、上海数字证书认证中心SHECA证书等;另外有些实体建设了自己CA,向本实体内系统及其用户发放数字证书。对比分析上述几家认证中心数字证书优缺点将有利于安全子系统数字证书选择。下表是比较结果:表8 认证中心比较表格方案优点缺点CFCA良好公信力,是金融领域CA权威高级证书费用较高,但可采取一般证书。V
45、eriSign国际发证权威机构国外机构,发证手续麻烦,费用也不低。自建CA发证成本较低仍需购置发证软件;银行不含有管理CA专长(大量管理工作);法律问题(非授信第三方)等等。3.5.2 动态密码辅助处理方案动态密码方案是以一次性口令技术为基础,现在成熟产品关键有智能卡、刮刮卡、动态短信系统等,产品供给商关键有RSA、Todos等。应用系统可采取动态密码系统作为身份认证辅助处理方案,Todos动态密码系统能够采取手机短信方法向用户端发送一次性口令,用户端仅需有一台能够接收短信手机就能够了,这种方案用户端几乎没有投入成本,造价也相对低廉,安全性强。除手机短信方法,动态密码系统还有以下多个用户端终端
46、可供选择:智能卡,以IC卡为载体,IC卡内置芯片实现某个密码算法,卡内同时储存了用户种子,每次按某种序列计算出不确定因子。智能卡通常还有个开启PIN码,提供对智能卡持有些人认证,加强智能卡安全性。智能卡含有携带方便,保密性好,即使卡遗失也不怕被她人利用等优点,缺点就是成本相对较高。刮刮卡,就是经过一次性口令技术事先算出一次性口令子集或全集,将这些口令印制在一张卡片上,再在每个口令上涂盖上防读层,以后每次使用时按系统提醒刮开对应位置涂层,便得到当次口令,这种卡便称为刮刮卡。刮刮卡含有成本低,使用方便优点,安全性要比智能卡低,一旦遗失有可能被她人利用。动态密码系统采取首先加强了应用系统安全性,其次
47、也增加了用户选择认证方法余地。3.6 系统运行环境3.6.1 硬件配置 Web主机表9 Web主机配置表型号数量配置备注Openpower710 1G,1 CPU, SUSE 91HD 2*73Gweb server 1 门户用Openpower710 1G,1 CPU, SUSE 91HD 2*73Gweb server 2 门户用Openpower710 1G,1 CPU, SUSE 91HD 2*73Gweb server 3 应用用Openpower710 1G,1 CPU, SUSE 91HD 2*73Gweb server 4 应用用 NSAE表10 NSAE加速卡配置表型号数量配置备注InfoSec NSAE 加速卡版1HD 2*73GInfoSec NSAE 加速卡版1HD 2*73G 应用主机和数据库主机表11 应用主机和数据库主机配置表型号数量配置备注P550 4G 2CPU, AIX5.3
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100