“可信”一词源于社会学,原本表述的是主体和主体之间或者主体和客体之间的相互信任关系。可信概念应用到软件工程领域,是指软件系统的行为及其结果总是符合人们的预期,在受到干扰时仍能提供连续的服务,这里的“可信”强调行为和结果的可预测性和可控制性,而“干扰”包括操作错误、环境影响和外部攻击等。
可信需求的定义最早可以追溯到可信计算机系统评估标准(Trusted Computer System Evaluation Criteria; TCSEC),该标准将软件的可信需求限定为安全性需求。之后,学术界和工业界从不同角度对可信需求概念进行分析和总结,下表给出了不同时期、不同组织或个人提出的不同可信需求概念。
来源 | 可信需求概念 | 时间 |
可信计算机系统评估标准TCSEC | 信息安全性(Security),包括机密性、真实性和责任制等 | 1985 |
国际电工技术委员会IEC(International Electrotechnical Commission)60090-191标准 | 可靠性,可用性,功能安全性(Safety)和信息安全性等 | 1990 |
可信软件方法学TSM(Trusted Software Methodology) | 信息安全性(Security),可靠性,可用性等 | 1994 |
微软 | 可靠性,信息安全性,隐私性,业务完整性等 | 2002 |
B.利特尔伍德(Bev Littlewood)和H. 施密特(Heinz Schmidt) | 可靠性,健壮性,可用性,功能安全性,信息安全性等 | 2000~2003 |
美国国防部高级研究计划局DARPA(Defense Advanced Research Projects Agency)的可组合高可信系统CHATS(Composable High-Assurance Trustworthy Systems) | 信息安全性,包括完整性、机密性、认证、授权和责任制,可靠性(包括容错性),时间性能,空间性能,可生存性等 | 2004 |
美国第二届国家软件高层会议NSS2 | 功能安全性,信息安全性,可靠性,可生存性,性能 | 2005 |
德国奥尔登堡大学的TrustSoft研究所 | 正确性,功能安全性,信息安全性,性能,可靠性,可用性,隐私性 | 2005 |
国际计算机软件与应用会议COMPSAC(International Computer Software and Applications Conference)可信计算专题讨论会 | 可用性,可靠性,信息安全性,可生存性,可恢复性,机密性,完整性 | 2006 |
国际软件过程会议ICSP(International Conference on Software Process) | 功能性,可靠性,功能安全性,信息安全性,易用性,可移植性,可维护性 | 2009 |
上述不同可信需求概念反映出在不同时期、不同领域、不同特性项目的可信需求存在差异。面向一个具体的可信软件,其功能需求是必须严格实现的,而非功能需求可分为可信关键属性和质量属性。可信关键属性是可信软件获得用户对其行为实现预期目标能力的信任程度的客观依据,根据可信软件的不同,可信关键属性由不同的非功能需求集合构成。与可信关键属性产生相关关系的其他非功能需求集合构成质量属性,质量属性不是可信软件的可信依据,但对可信软件的质量有重要影响。