同一个中文“安全性”但是却又完全不同的英文术语(safety vs security)对应,如何理解和区分呢。本文尝试详解其含义和区别,并给出区分使用的建议。

不同的语言体系会导致不同的思考方向,延伸开来就会导致一些奇怪的概念仅仅出现在某个语言体系中,但是在另一个语言体系中却完全空白,翻译和理解起来很是困难。比如中文的“上火”,不管男女老少上过几年学,一说就懂。但是在英文体系里就完全没有这个概念。甚至无法解释。

但是在专业术语中,由于英语体系中的造词习惯以及一些思维体系的差别,术语翻译成中文也是很难做到精准的。

比方说这里提到的软件需求分析中和软件系统设计中,经常会碰到的安全性的概念。严格来说,他在英文体系中是两个不同的专业术语:Safety 和 Security。这俩都翻译为安全(性),但是在专业术语中的定义完全是不一样的维度。

1 什么是Safety安全性?

“Safety” 专注于预防和保护人们不受意外或非故意的伤害和风险。它的核心在于预防事故、伤害和错误的发生。例如,在工作场所,通过设置安全防护设备和制定严格的安全操作规程,我们可以防止工人在工作时受伤;在道路交通中,通过遵守安全规则,可以减少交通事故的发生。“Safety” 强调的是一个无危险、无风险、无害的状态,它主要关注的是物理层面的安全保护。

在软件系统设计中,“Safety” 着重于确保系统在遭受故障或意外事件时仍能保持稳定,防止对人员、环境或设备造成任何伤害或损害。这涉及到硬件和软件的可靠性设计,以及对潜在故障的有效管理和适当处理。

安全性(Safety)要求软件系统在正常运行和遇到异常情况时都能保持安全,确保不会对用户或环境造成伤害。这通常包括硬件和软件的可靠性设计,以及对故障情况的妥善处理。安全性与可靠性(Reliability)、可用性(Availability)和持久性(Durability)紧密相连,共同构成了软件系统设计的重要考量。

“Safety” 在软件设计中扮演着至关重要的角色 1,它不仅关乎技术层面的稳健性,更关乎人的生命安全和财产保护。例如:

  • 汽车防抱死制动系统(ABS):软件的设计必须确保在紧急刹车情况下,车辆能够安全地停下,避免可能发生的事故。
  • 医疗设备监控系统:软件需要精确地监控病患数据,防止任何数据错误导致医疗事故的发生。
  • 电梯控制系统:软件必须保证电梯在运行中的稳定性,防止因故障导致的意外坠落或停止。

2 什么是Security安全性?

“Security” 更多地着眼于对有意且恶意的行为或威胁的防护,像盗窃、攻击、欺诈、入侵之类。

例如,在信息安全方面,要防止数据遭受未经授权的访问、篡改或者窃取;在国家安全领域,要抵御来自外部的军事威胁以及内部的颠覆活动;对于建筑物的安保系统而言,要阻拦未经授权的人员进入。

其重点在于保护资产、信息或者人员免受有针对性的威胁与侵犯。

Security安全性侧重于保障软件系统免受恶意攻击,保证数据的机密性、完整性以及可用性。这涉及阻止未经授权的访问、数据泄露以及系统篡改。

“Security安全性”侧重于使软件避免恶意攻击,确保信息和数据的安全。它关系到软件的防护能力,防范未授权访问。例如:

  • 在线银行系统:务必防止黑客攻击,守护用户的财务信息。
  • 社交媒体平台:需要保证用户数据不被泄露,防止隐私被侵犯。
  • 企业资源规划(ERP)系统:企业依靠这类系统管理敏感数据,必须防止数据泄露。

3 区别与对比

举例来说: 在一个工厂中,安装防火设备和设置紧急出口是为了确保工作场所的 safety;而安装监控摄像头和门禁系统以防止盗窃和破坏行为则是为了保障 security。 对于个人的电脑,安装杀毒软件和设置强密码是为了实现信息 security;而在电脑重启按钮设计的很小以防止意外碰撞则是关于 safety。

总的来说,safety 更侧重于防止意外和无意的危险,而 security 侧重于防范有意的、恶意的威胁和攻击。 但在某些情况下,这两个概念可能会有重叠。

4 具体事例对比解释说明

为了更好地理解安全性设计中的 Safety 和 Security,让我们来看一些具体的案例:

系统 Safety安全性 Security安全
自动驾驶汽车 确保车辆在各种天气条件和道路状况下都能安全行驶,例如,当遇到突发情况时,车辆能够自动刹车以避免碰撞 防止车辆受到黑客攻击,确保控制系统的完整性和可靠性
医疗设备 确保设备在故障时仍能维持安全状态,例如,当电池电量低时,设备能够发出警告并安全关闭 防止未经授权的访问,保护患者的健康数据
工业控制系统 确保工厂生产线在异常情况下能够安全停止,例如,当传感器检测到危险时,生产线能够自动关闭 防止恶意软件感染控制系统,保护生产数据
无人机系统 确保无人机在飞行过程中能够避开障碍物,避免碰撞 防止无人机被非法操控或窃取数据
智能家居系统 确保智能家电在电源波动时能够安全关闭,例如,当电压过高时,智能插座能够切断电源 防止家庭网络遭受攻击,保护家庭成员的隐私
银行交易系统 确保交易系统在服务器故障时能够安全恢复,例如,自动备份重要数据 保护客户的财务信息不受黑客攻击,例如,通过加密技术保护转账数据
在线购物平台 确保网站在遭受攻击时能够快速恢复服务,例如,通过负载均衡分散流量压力 保护用户个人信息不被泄露,例如,使用双因素认证确保账户安全
移动应用程序 确保应用程序在手机内存不足时能够安全退出,例如,优雅地释放资源并提示用户 防止应用程序被逆向工程,保护知识产权,例如,使用代码混淆技术增加破解难度
物联网设备 确保设备在电池耗尽时能够安全关闭,例如,当电量过低时,设备能够进入低功耗模式 防止设备被恶意控制,保护用户隐私,例如,使用加密连接确保设备与服务器之间通信的安全
云计算平台 确保数据中心在自然灾害时能够安全运行,例如,通过备份和灾难恢复计划保证数据安全 保护云存储的数据不被非法访问,例如,使用访问控制列表管理数据权限

通过以上这些事例,我们可以看到 Safety 和 Security 在软件设计中的重要性。安全性设计不仅关乎软件的功能实现,更是确保用户安全和数据保护的关键。在软件开发过程中,必须充分考虑这两方面的设计要求,以构建出既安全又可靠的软件系统。

5 如何在中文分析和设计文档中区分使用这两个安全性。

一般来说,系统设计中和一般思维概念中,safety用的比较多。也比较符合安全性的设定。 建议是将 safety 维持原来的 安全性 的翻译。

对于security,比较接近的翻译是 安保或安防(性)。 但是安保,安防本身这俩词也在其他语境中官方应用。 权衡之下,安防性似乎比较接近写。 个人建议在分析或设计文档中是用安防性来表达 security, 同时附加备注说明。