首页 百科知识 应用程序的安全设计

应用程序的安全设计

时间:2022-07-21 百科知识 版权反馈
【摘要】:1)应用系统安全设计的意义应用系统软件设计对软件开发项目的重要性毋庸置疑,一个好的软件设计可以提高软件质量、节约开发成本,是软件项目成功的关键性保证。这时系统的安全性设计需要考虑敏感信息通信传输的安全性。应用系统的安全性设计需要考虑系统的容量规划,包括总体规模、业务增长情况、系统处理性能和极限处理能力。

1)应用系统安全设计的意义

应用系统软件设计对软件开发项目的重要性毋庸置疑,一个好的软件设计可以提高软件质量、节约开发成本,是软件项目成功的关键性保证。而在软件设计阶段,充分考虑软件安全设计同样可以提高软件的安全等级,保障信息安全,是软件开发安全的重要思想和灵魂。就如造一幢房子,在开始砌第一块砖之前,就必须事先画好建筑蓝图,而在绘制建筑蓝图的时候如没有充分考虑房屋地基深度、消防通道、门窗位置等问题,房子造好后必然会存在各种各样的安全问题。

2)应用系统安全设计的内容

应用系统设计阶段,在进行功能设计的同时兼顾安全设计,将安全设计思想融入应用程序的设计中,包括应用系统访问控制、用户权限控制、应用访问安全性、敏感信息保护、审计日志、容错设计及应用系统容量规划等。

(1)应用系统访问控制。

需要建立应用系统的访问控制机制,所有对应用系统的访问,都需要通过应用系统的认证和授权,并通过系统规定的访问流程进行访问,系统访问控制不得留有后门程序用以避开访问控制程序。

(2)应用访问安全性。

应用系统在保障自身安全访问控制的前提下,还需要考虑应用系统不同组件之间通信的安全性。组件之间通信的安全性既要考虑内部组件之间的安全通信,更要考虑内部组件与外部系统之间的通信安全。例如应用服务器和客户端之间通信的安全性,服务器之间通信的安全性,应用系统和其他相关系统之间通信的安全性。这在应用系统设计尤其是应用系统部署架构设计中尤为重要。例如,应用系统不同组件或者应用系统与相关系统的访问安全,可以考虑通过部署在网络区域的不同位置,使用防火墙等设备来相互隔离并授予相互间访问的安全策略。

(3)用户权限控制。

应用系统需要设计不同用户或用户组的不同级别的权限控制访问策略,用于分配给不同用户以不同的使用权限。系统必须具有基于用户的岗位职责而对于不同用户授予不同权限的功能,保障用户仅能访问其权限范围内的应用系统部分,且不能访问其权限范围外的应用系统部分。

(4)敏感信息保护。

应用系统中可能会存放较多对客户来说非常重要的敏感信息,系统的安全性设计需要考虑敏感信息的存放安全性。通常需要将应用系统中敏感的信息保存在应用系统的服务器端并进行加密存储,确保应用系统客户端不能存储任何信息敏感的数据。加密的方式需要确保存储的数据不能被人为破解,例如金融系统的用户交易敏感数据通常使用硬件加密机进行保护。

由于应用系统的需要,应用系统的敏感信息可能会在不同系统间进行传递,例如交易信息中PIN码。这时系统的安全性设计需要考虑敏感信息通信传输的安全性。通常敏感信息在不同系统间传递需要加密传输,相关系统间约定相关的加密及保护方式,确保信息在传递过程中不会被截取、篡改或伪造。另外对于任何传输敏感信息的通信应用,都不应该以任何方式记录敏感信息并予以输出。

(5)审计日志。

应用系统的安全性设计需要建立应用系统日志打印及管理规范,说明应用系统的日志记录要求、日志打印格式、日志记录范围及详细程度。对于应用系统的使用和访问均需要记录相关的日志,用于追踪审计应用系统被使用的情况。

(6)容错设计。

应用系统不仅需要具备完善的功能及很高的效率,而且还需要具备很好的容错能力。系统运行中由于各种原因可能遇到各种各样的错误,如果对这些错误不做处理,就不能保证系统的正常运行,甚至引发应用系统的异常运行或错误运行,危及系统安全,因此容错设计是系统安全性设计的重要环节。容错设计要求系统能允许错误存在,预见判断并纠正可能出现的错误,恢复和保持系统正常运行。

容错设计的基本思想是通过系统架构、软硬件配置、应用软件等加以备份,通过负载处理等设计来屏蔽错误。通常应用系统的容错方法有两种:

(7)容量规划。

应用系统的安全性设计需要考虑系统的容量规划,包括总体规模、业务增长情况、系统处理性能和极限处理能力。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈