等级为1.2时提示
Showing
1 changed file
with
75 additions
and
13 deletions
| 1 | <template> | 1 | <template> |
| 2 | <div style="display: flex;justify-content: center;width: 100%;"> | 2 | <div style="display: flex;justify-content: center;width: 100%;"> |
| 3 | <div v-show="!isWordStyle" class="analysis-result-main"> | 3 | <div v-show="!isWordStyle" class="analysis-result-main"> |
| 4 | <div class="reject"> | ||
| 5 | <div class="header_title" v-show="analysisResultInfo.rating <= 2"> | ||
| 6 | <span class="title_text">{{ `匿名化评测结果不符合评测要求,等级为${analysisResultInfo.rating}级包含直接标识符,请重新进行匿名化处理` }}</span> | ||
| 7 | </div> | ||
| 8 | </div> | ||
| 4 | <div v-if="showTitle" class="result-title">匿名结果分析</div> | 9 | <div v-if="showTitle" class="result-title">匿名结果分析</div> |
| 5 | <div class="kpi-content" v-show="Object.keys(analysisResultInfo).length > 0"> | 10 | <div class="kpi-content" v-show="Object.keys(analysisResultInfo).length > 0"> |
| 6 | <div class="border-content"> | 11 | <div class="border-content"> |
| ... | @@ -191,11 +196,20 @@ | ... | @@ -191,11 +196,20 @@ |
| 191 | </div> | 196 | </div> |
| 192 | <div v-show="isWordStyle" class="analysis-result-main report-main" ref="report"> | 197 | <div v-show="isWordStyle" class="analysis-result-main report-main" ref="report"> |
| 193 | <div | 198 | <div |
| 194 | style="font-family: simsun;height: 40px;display: block;line-height: 32px;font-size: 18px;color: #212121;font-weight: 700;text-align: center;margin-top: 10px;margin-bottom: 10px;">匿名化效果评估指标</div> | 199 | style="font-family: simsun;height: 40px;display: block;line-height: 32px;font-size: 18px;color: #212121;font-weight: 700;text-align: center;margin-top: 10px;margin-bottom: 10px;"> |
| 195 | <p style="font-family: simsun;margin: 0px;font-size: 14px;line-height: 21px;white-space: pre-wrap;color: #212121;">{{ ' 依据GB/T 42460-2023《信息安全技术个人信息去标识化效果评估指南》附录D,对去标识化以后的数据集基于K匿名模型进行去标识化效果的评估。' }}</p> | 200 | 匿名化效果评估指标</div> |
| 196 | <p style="font-family: simsun;margin: 0px;font-size: 14px;line-height: 21px;white-space: pre-wrap;color: #212121;"> | 201 | <p |
| 197 | {{ ` 总体方案为先计算数据集每行记录、整体数据集的重标识风险,进而计算环境重标识攻击概率,最后再结合环境重标识攻击概率计算整个数据集的重标识整体风险。去标识化效果评估结果为${analysisResultInfo.rating + '级'}。具体指标如下:` }}</p> | 202 | style="font-family: simsun;margin: 0px;font-size: 14px;line-height: 21px;white-space: pre-wrap;color: #212121;"> |
| 198 | <div style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;font-weight: 700;margin: 8px 0px;">匿名化结果分析</div> | 203 | {{ |
| 204 | ' 依据GB/T 42460-2023《信息安全技术个人信息去标识化效果评估指南》附录D,对去标识化以后的数据集基于K匿名模型进行去标识化效果的评估。' }}</p> | ||
| 205 | <p | ||
| 206 | style="font-family: simsun;margin: 0px;font-size: 14px;line-height: 21px;white-space: pre-wrap;color: #212121;"> | ||
| 207 | {{ ` | ||
| 208 | 总体方案为先计算数据集每行记录、整体数据集的重标识风险,进而计算环境重标识攻击概率,最后再结合环境重标识攻击概率计算整个数据集的重标识整体风险。去标识化效果评估结果为${analysisResultInfo.rating | ||
| 209 | + '级'}。具体指标如下:` }}</p> | ||
| 210 | <div | ||
| 211 | style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;font-weight: 700;margin: 8px 0px;"> | ||
| 212 | 匿名化结果分析</div> | ||
| 199 | <div class="kpi-content" v-show="Object.keys(analysisResultInfo).length > 0"> | 213 | <div class="kpi-content" v-show="Object.keys(analysisResultInfo).length > 0"> |
| 200 | <div class="border-content"> | 214 | <div class="border-content"> |
| 201 | <div class="text" style="color: #212121;">去标识化效果评估结果</div> | 215 | <div class="text" style="color: #212121;">去标识化效果评估结果</div> |
| ... | @@ -233,8 +247,12 @@ | ... | @@ -233,8 +247,12 @@ |
| 233 | (oldAnonTaskValueInfo.anonPrivacyMode?.riskThreshold || 0) }}</span> | 247 | (oldAnonTaskValueInfo.anonPrivacyMode?.riskThreshold || 0) }}</span> |
| 234 | </div> | 248 | </div> |
| 235 | </div> | 249 | </div> |
| 236 | <div style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;font-weight: 700;margin: 8px 0px 4px;">重标识风险表</div> | 250 | <div |
| 237 | <div style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;margin-bottom: 4px;white-space: pre-wrap;">{{ ' 门限阈值的取值:完全公开共享数据发布,取值 1/20;受控公开共享数据发布,取值 1/5;领地公开共享数据发布,取值 1/3。' }}</div> | 251 | style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;font-weight: 700;margin: 8px 0px 4px;"> |
| 252 | 重标识风险表</div> | ||
| 253 | <div | ||
| 254 | style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;margin-bottom: 4px;white-space: pre-wrap;"> | ||
| 255 | {{ ' 门限阈值的取值:完全公开共享数据发布,取值 1/20;受控公开共享数据发布,取值 1/5;领地公开共享数据发布,取值 1/3。' }}</div> | ||
| 238 | <table border="0" cellspacing="0" | 256 | <table border="0" cellspacing="0" |
| 239 | style="width:100%;word-break: break-all;margin: 0 auto;text-align: center;border-collapse: collapse;color: #212121"> | 257 | style="width:100%;word-break: break-all;margin: 0 auto;text-align: center;border-collapse: collapse;color: #212121"> |
| 240 | <thead> | 258 | <thead> |
| ... | @@ -247,7 +265,7 @@ | ... | @@ -247,7 +265,7 @@ |
| 247 | <tbody> | 265 | <tbody> |
| 248 | <tr v-for="(recordItem, j) in fullResultData" :key="j"> | 266 | <tr v-for="(recordItem, j) in fullResultData" :key="j"> |
| 249 | <td v-for="(columnItem, i) in resultTableFields" :key="i" | 267 | <td v-for="(columnItem, i) in resultTableFields" :key="i" |
| 250 | :style="{border: '0.5px solid #d9d9d9', 'text-align': <any>(getTextAlign(columnItem) ?? 'left') }"> | 268 | :style="{ border: '0.5px solid #d9d9d9', 'text-align': <any>(getTextAlign(columnItem) ?? 'left') }"> |
| 251 | <span :style="{ 'word-break': 'break-all' }"> | 269 | <span :style="{ 'word-break': 'break-all' }"> |
| 252 | {{ columnItem.enName == 'index' ? (j + 1) : formatterPreviewDate(recordItem, columnItem) }} | 270 | {{ columnItem.enName == 'index' ? (j + 1) : formatterPreviewDate(recordItem, columnItem) }} |
| 253 | </span> | 271 | </span> |
| ... | @@ -256,9 +274,11 @@ | ... | @@ -256,9 +274,11 @@ |
| 256 | </tbody> | 274 | </tbody> |
| 257 | </table> | 275 | </table> |
| 258 | <div v-show="oldAnonTaskValueInfo.dataSharingTypeCode != '01'" | 276 | <div v-show="oldAnonTaskValueInfo.dataSharingTypeCode != '01'" |
| 259 | style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;font-weight: 700;margin: 8px 0px 4px;">内部故意攻击概率</div> | 277 | style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;font-weight: 700;margin: 8px 0px 4px;"> |
| 278 | 内部故意攻击概率</div> | ||
| 260 | <div v-show="oldAnonTaskValueInfo.dataSharingTypeCode != '01'" | 279 | <div v-show="oldAnonTaskValueInfo.dataSharingTypeCode != '01'" |
| 261 | style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;margin-bottom: 4px;white-space: pre-wrap;">{{ ' 重标识数据的动机和能力为低,从重标识攻击可能性分析表可得出在内部攻击方面,重标识攻击概率的取值为0.05。'}}</div> | 280 | style="font-family: simsun;display: block;line-height: 21px;font-size: 14px;color: #212121;margin-bottom: 4px;white-space: pre-wrap;"> |
| 281 | {{ ' 重标识数据的动机和能力为低,从重标识攻击可能性分析表可得出在内部攻击方面,重标识攻击概率的取值为0.05。' }}</div> | ||
| 262 | <table v-show="oldAnonTaskValueInfo.dataSharingTypeCode != '01'" border="0" cellspacing="0" | 282 | <table v-show="oldAnonTaskValueInfo.dataSharingTypeCode != '01'" border="0" cellspacing="0" |
| 263 | style="width:100%;word-break: break-all;margin: 0 auto;text-align: center;border-collapse: collapse;color: #212121;"> | 283 | style="width:100%;word-break: break-all;margin: 0 auto;text-align: center;border-collapse: collapse;color: #212121;"> |
| 264 | <thead> | 284 | <thead> |
| ... | @@ -324,19 +344,22 @@ | ... | @@ -324,19 +344,22 @@ |
| 324 | <td v-for="(columnItem, i) in adversarialTestFields" :key="i" | 344 | <td v-for="(columnItem, i) in adversarialTestFields" :key="i" |
| 325 | :style="{ border: '0.5px solid #d9d9d9', 'text-align': <any>(columnItem.align ?? 'left') }"> | 345 | :style="{ border: '0.5px solid #d9d9d9', 'text-align': <any>(columnItem.align ?? 'left') }"> |
| 326 | <span :style="{ 'word-break': 'break-all' }"> | 346 | <span :style="{ 'word-break': 'break-all' }"> |
| 327 | {{ columnItem.field == 'index' ? (j + 1) : recordItem[columnItem.field] === 0 ? 0 : (recordItem[columnItem.field] || '--') }} | 347 | {{ columnItem.field == 'index' ? (j + 1) : recordItem[columnItem.field] === 0 ? 0 : |
| 348 | (recordItem[columnItem.field] || '--') }} | ||
| 328 | </span> | 349 | </span> |
| 329 | </td> | 350 | </td> |
| 330 | </tr> | 351 | </tr> |
| 331 | </tbody> | 352 | </tbody> |
| 332 | </table> | 353 | </table> |
| 333 | <p v-show="analysisResultInfo.rating >= 3" style="font-family: simsun;margin: 4px 0px 0px;font-size: 14px;line-height: 21px;color: #212121;white-space: pre-wrap;">{{ ' 通过识别关键变量,选择标识度高于0.5的属性作为攻击测试的关键变量,在攻击测试中,涉及到的攻击场景,其重标识概率均远小于所接受的风险水平0.05。另外,未发现任何其它可能的安全性问题。' }}</p> | 354 | <p v-show="analysisResultInfo.rating >= 3" |
| 355 | style="font-family: simsun;margin: 4px 0px 0px;font-size: 14px;line-height: 21px;color: #212121;white-space: pre-wrap;"> | ||
| 356 | {{ ' 通过识别关键变量,选择标识度高于0.5的属性作为攻击测试的关键变量,在攻击测试中,涉及到的攻击场景,其重标识概率均远小于所接受的风险水平0.05。另外,未发现任何其它可能的安全性问题。' }}</p> | ||
| 334 | </div> | 357 | </div> |
| 335 | </div> | 358 | </div> |
| 336 | </template> | 359 | </template> |
| 337 | <script lang="ts" setup name="anonResultAnalysis"> | 360 | <script lang="ts" setup name="anonResultAnalysis"> |
| 338 | import { TableColumnWidth } from '@/utils/enum'; | 361 | import { TableColumnWidth } from '@/utils/enum'; |
| 339 | import { QuestionFilled } from "@element-plus/icons-vue"; | 362 | import { QuestionFilled, CircleCloseFilled } from "@element-plus/icons-vue"; |
| 340 | import Moment from 'moment'; | 363 | import Moment from 'moment'; |
| 341 | 364 | ||
| 342 | const props = defineProps({ | 365 | const props = defineProps({ |
| ... | @@ -708,4 +731,43 @@ defineExpose({ | ... | @@ -708,4 +731,43 @@ defineExpose({ |
| 708 | } | 731 | } |
| 709 | } | 732 | } |
| 710 | } | 733 | } |
| 734 | |||
| 735 | .reject { | ||
| 736 | background-color: #FDF2F4; | ||
| 737 | box-shadow: 0 0 0 1px #E63E33; | ||
| 738 | margin-bottom: 8px; | ||
| 739 | |||
| 740 | .header_title { | ||
| 741 | .el-icon { | ||
| 742 | color: #E63E33; | ||
| 743 | } | ||
| 744 | } | ||
| 745 | } | ||
| 746 | |||
| 747 | .header_title { | ||
| 748 | height: 40px; | ||
| 749 | padding: 0 16px; | ||
| 750 | display: flex; | ||
| 751 | align-items: center; | ||
| 752 | |||
| 753 | .title_text { | ||
| 754 | line-height: 22px; | ||
| 755 | font-size: 14px; | ||
| 756 | color: var(--el-color-regular); | ||
| 757 | font-weight: 600; | ||
| 758 | display: flex; | ||
| 759 | align-items: center; | ||
| 760 | |||
| 761 | .title_icon { | ||
| 762 | width: 26px; | ||
| 763 | height: 21px; | ||
| 764 | margin-right: 4px; | ||
| 765 | cursor: pointer; | ||
| 766 | |||
| 767 | &.active { | ||
| 768 | transform: rotate(90deg); | ||
| 769 | } | ||
| 770 | } | ||
| 771 | } | ||
| 772 | } | ||
| 711 | </style> | 773 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or sign in to post a comment