“审计追踪”的版本间的差异

来自先虑百科
跳到导航 跳到搜索
→‎术语解释 增加一个句号
(21 CFR Part 11的链接换成最新的版本)
 
第1行: 第1行:
 审计追踪,可以对系统进行关键操作的时候,留下审计日志,以备今后查看。审计日志受到电子签名的保护,生成之后无法篡改。同时,所有的用户相关操作,会自动计入审计日志,以确保审计日志的生成者,是有迹可循的。审计追踪模块符合美国FDA [https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfcfr/CFRSearch.cfm?CFRPart=11 Title 21 CFR Part 11]的相关法律法规的规定。
 审计追踪,可以对系统进行关键操作的时候,留下审计日志,以备今后查看。审计日志受到电子签名的保护,生成之后无法篡改。同时,所有的用户相关操作,会自动计入审计日志,以确保审计日志的生成者,是有迹可循的。审计追踪模块符合美国FDA [https://www.ecfr.gov/cgi-bin/text-idx?SID=f9312ae8d45a0203eddab6d1cea3ff76&mc=true&node=pt21.1.11&rgn=div5 Title 21 CFR Part 11]的相关法律法规的规定。


== 术语解释 ==
== 术语解释 ==

2021年8月13日 (五) 18:36的最新版本

审计追踪,可以对系统进行关键操作的时候,留下审计日志,以备今后查看。审计日志受到电子签名的保护,生成之后无法篡改。同时,所有的用户相关操作,会自动计入审计日志,以确保审计日志的生成者,是有迹可循的。审计追踪模块符合美国FDA Title 21 CFR Part 11的相关法律法规的规定。

术语解释

  • 审计日志:在进行一些操作时,需要留下操作日志,并且该日志必须与某一操作人进行绑定。此种操作日志由电子签名来保护,只有持有操作人本人的私钥,才可以生成。且一经生成,无法修改。审计日志包含内容电子签名两部分:
    • 内容:即记录的信息本身,如某操作员在某时刻做了何种操作。
    • 电子签名:用验证内容是否被修改的一段信息。
  • 私钥:私钥是用来生成电子签名的一段信息,与某一操作员一一对应。使用私钥对某一审计日志生成电子签名,则在法律上视为该操作员的手动签名,具有法律效力。 本系统采用ECDSA[1]密钥对实行签名/验证的操作。
    • 私钥属于敏感信息,存储时以操作密码加密保存。拿到了私钥,意味着可以以某位操作员的身份生成审计日志。
    • 私钥可以推导出与之为唯一对应的公钥,可以用来验证电子签名。
  • 公钥:与私钥一一对应,可以由私钥推导出来。可以用于验证电子签名。如其所名,公钥是可以公开的信息。
  • 电子签名:由用户的私钥,对审计日志的内容进行运算,所生成的一段信息。
    • 原始内容是二进制信息,打印输出时,采用base58[2]编码进行输出,目的是方便人类阅读,其实质是与底层二进制完全一样的,可以互相转化。
    • 可以用公钥来验证,审计日志的内容是否是有效的(未被篡改)。
    • 验证:使用公钥,对审计日志的内容与电子签名做验证的运算,可以知道此内容与此签名是否匹配。匹配则说明,此电子签名是由该公钥的对应的私钥所生成。而私钥对应于某一操作员,那就可以认定,该审计日志确实是由该操作员所生成。

何种操作会被记入审计日志

  • 在画面组态时,设定被记入审计日志的操作
  • 一切对用户和用户组进行修改的操作

审计日志的字段

字段名 含义 说明
signature_timestamp 日期 生成的日期
operator_id 操作人的ID 操作人的数据库主键
operator_name 操作人姓名 在本日志生成时,操作人的姓名
operator_key_id 私钥ID 签名所使用私钥的主键
private_key_fingerprint 私钥指纹 签名所使用的私钥的指纹
category 类别 在组态时设定的审计追踪,类别为user_action。由系统自动记录的审计日志,分别有他们自己的类别
action 动作 何种操作的详细描述
target_id 关联记录ID target_type一起,可以定位到一条与该审计日志相关联的记录。由组态生成的审计日志,此项与target_type为空
target_type 关联记录类型 target_id
extra 额外信息 对本操作有帮助的额外信息,以键值对形式存储。组态时可以将一些变量的当前值存在这里,以备今后查阅
remark 操作备注 在生成审计日志时,由操作员记录的可选信息。
nonce 随机数 为避免完全相同的审计日志出现,加入一个随机数
signature 电子签名 以上除本字段,均为审计日志的内容,是生成电子签名,与验证电子签名的主体

审计追踪的操作事项

  • 一个项目需要在项目属性里开启审计追踪,才可以启用审计追踪的功能。
  • 项目在开发模式下,可以任意添加和编辑用户。这些操作不产生审计日志。
  • 在项目预览时,第一次执行需要审计日志的操作之前,会要求进行审计日志初始化。
  • 审计追踪初始化,在用户管理模块中进行。进行这个操作,会要求设置当前操作员的操作密码。之后,之前所有的,在开发模式下建立的用户、权限等信息,都被视为由该初始化用户所建立。
    • 该用户的私钥,也会一并初始化
  • 非初始化用户,在第一次触发需要使用审计日志的操作时,会要求设置操作密码。此时私钥也将生成
  • 如果在开发预览模式下,初始化过审计日志,此时如果再在开发模式下添加、编辑用户,这些操作也不会记入审计日志。因此如果审查审计日志的完整性,将会出现问题,例如某用户找不到创建对应的审计日志,或其编辑历史与其当前状态不符合。这是正常现象。
  • 在部署时,在部署的机器上,仍然需要审计追踪初始化。此时不会有开发模式进行编辑用户,因此审计日志是严格的。

审计日志的展示、导出与验证

审计日志组态模块中,可以直接浏览与搜索审计日志。同时审计日志支持以Excel与PDF格式进行导出。PDF格式仅能查看,但是普通手段无法修改。Excel虽然理论上可以在输出后修改,但是可以支持进行审计日志验证。任何修改都会导致该条审计日志签名验证失败,即无效。

  1. ECDSA即椭圆曲线电子签名算法,是目前业界强度较高的一种算法,也是多数加密系统推荐的算法。
  2. base58是一种可以将任意二进制数据,映射为数字1-9,以及英文字母A-Z的编码,且去除有歧义的字符,例如数字0、字母O,小写字母l等。此种编码是为了让任意二进制数据,可以由人类进行阅读。它与二进制数据可以互相转化。