一级 |
安全性 |
|
|
|
|
二级 |
身份验证 |
|
|
|
|
三级 |
身份验证的方式 |
对支持的所有身份验证方式通过交易逐一验证 |
例一:密钥验证。例二:密钥验证。 |
0.5 |
通过白皮书与相关文档提交专家判断 |
三级 |
身份验证的场景 |
搜集身份验证的场景,对支持的所有身份验证场景通过模拟交易进行逐一验证 |
例一:转账、查询、登陆。例二:转账。 |
1 |
通过白皮书与相关文档提交专家判断 |
三级 |
防止身份冒用 |
判断是否具有防止身份冒用的功能,使用错误的身份信息进行登陆或支付相关操作,验证能够通过 |
例一:是。例二:是。 |
1 |
通过白皮书与相关文档提交专家判断 |
三级 |
私钥具有完整的生命周期管理 |
判断私钥是否具有完整的生命周期管理,测试私钥的生命周期管理 |
例一:是,私钥有生成、分发、存储、使用以及销毁过程。例二:否。 |
1.5 |
通过白皮书与相关文档提交专家判断 |
三级 |
节点的进出需要身份验证 |
判断私钥是否具有增删节点时的身份验证功能,若具有,增加或删除一个未经过认证的节点,测试是否增删成功,增加或删除一个经过认证的节点,测试是否增删成功 |
例一:是。例二:是 |
0.5 |
通过白皮书与相关文档提交专家判断 |
|
|
|
|
二级 |
访问控制 |
|
|
|
三级 |
不同级别账户权限不同 |
分别建立各个级别下的不同账户,模拟发起各类交易,检查不同账户支持的交易种类是否一样 |
例一:支持。例二:不支持。 |
1 |
通过白皮书与相关文档提交专家判断 |
三级 |
不同分类账户权限不同 |
分别建立各个分类下的不同账户,模拟发起各类交易,检查不同账户支持的交易种类是否一样 |
例一:支持。例二:不支持。 |
1 |
通过白皮书与相关文档提交专家判断 |
三级 |
超级账户的权限 |
建立一个具有超级账户权限的账户,模拟发起各类交易,检查该账户是否全部支持,通过该账户查看其它账户的信息及交易,检查是否有权限能查看,通过该账户对其它账户进行审批、回收等操作,检查是否对其它账户具有管理功能 |
例一:支持。例二:不支持。 |
1 |
通过白皮书与相关文档提交专家判断 |
三级 |
账户间的授权 |
建立两个不同的账户A和B,使用A账户对B账户进行某项交易授权,通过B账户发起A账户的授权交易,验证是否成功 |
例一:支持。例二:不支持。 |
1 |
通过白皮书与相关文档提交专家判断 |
三级 |
账户授权时限控制 |
建立两个不同的账户A和B,使用A账户对B账户进行某项交易授权,指定授权时限为10分钟,分别在10分钟内和10分钟后通过B账户发起A账户的授权交易,验证两次交易是否成功 |
例一:支持。例二:不支持。 |
1 |
通过白皮书与相关文档提交专家判断 |
三级 |
账户权限变更 |
建立不同层级的两个账户,使用高级别账户对低级别的账户进行权限的变更,如禁止转账,检查低级别账户是否仍能够进行转账交易 |
例一:支持。例二:不支持。 |
1 |
通过白皮书与相关文档提交专家判断 |
三级 |
权限变更形式 |
对白皮书支持的所有权限变更形式通过模拟测试进行逐一验证 |
例一:高级别的帐户授权、线下授权。例二:不支持。 |
1.5 |
通过白皮书与相关文档提交专家判断 |
|
|
|
|
二级 |
加密体系和隐私 |
|
|
|
三级 |
交易信息加密 |
查阅交易信息的加密情况,若支持加密,列出所有加密场景下使用的算法和加密的要素,在各个场景下,模拟发起交易,截取交易明文和加密后的密文,使用解密工具进行解密,检查解密后的内容是否与明文一致 |
例一:支持,加密算法包括SHA3-2S6、ECDSA、国密、加密同态加密、SHA2、SHA3。例二:不支持。
|
2 |
通过白皮书与相关文档提交专家判断 |
三级 |
签名的应用场景 |
收集所有可能的签名应用场景,列出签名应用的场景,在各个场景下模拟发起交易,查看交易记录是否会记录签名后的信息,尝试调用接口的时候不签名,检查交易是否报异常 |
例一:查询,转账,发行。例二:转账。 |
1.5 |
通过白皮书与相关文档提交专家判断 |
三级 |
签名使用的私钥保存 |
获取所有的私钥保存方式与存储路径,检查私钥的保存方式和存储路径,修改私钥文件,验证私钥文件在交易过程中能否起作用,检查交易状态 |
例一:私钥被加密后存于用户PC或手机。 |
1.5 |
通过白皮书与相关文档提交专家判断 |
三级 |
私钥丢失能否保护用户财产 |
在私钥存储路径下删除某一个账户对应的私钥,查询该账户的资产,在私钥存储路径下删除某一个账户对应的私钥,使用该账户向其他账户进行转账交易,检查交易状态、账户财产变化情况,在私钥存储路径下删除某一个账户对应的私钥,使用别的账户向该账户转账,检查交易状态、账户财产变化情况 |
例一:否,账户资产仍然存在,但是无法交易。 |
1 |
通过白皮书与相关文档提交专家判断 |
二级 |
密码算法 |
|
|
|
三级 |
密码算法种类 |
收集支持的密码算法种类 |
例一:ECDSA、国密、加密同态加密、SHA3。例二:RSA、SHA2、SHA3。 |
1.5 |
通过白皮书与相关文档提交专家判断 |
三级 |
国密算法 |
判断该区块链是否支持国密算法,若支持,通过区块链提供的接口,调用国密算法进行验证 |
例一:支持。例二:不支持。 |
1 |
通过白皮书与相关文档提交专家判断 |
三级 |
加密机 |
判断该区块链是否支持加密机,若支持,通过区块链提供的接口,调用加密机进行加密验证 |
例一:支持。例二:不支持。 |
1 |
通过白皮书与相关文档提交专家判断 |
三级 |
可插拔自定义密码算法 |
判断该区块链是否支持可插拔自定义密码算法,若支持,通过区块链提供的接口,调用自定义的密码算法进行验证 |
例一:支持。例二:不支持。 |
1 |
通过白皮书与相关文档提交专家判断 |
二级 |
匿名性 |
|
|
|
三级 |
交易匿名 |
随机查询任意一个区块上任意一笔交易,使用任意一个账户,通过交易中的用户地址查询真实用户信息,若查不到真实用户信息,则代表支持交易匿名 |
例一:支持。例二:不支持。 |
1 |
通过白皮书与相关文档提交专家判断 |
三级 |
全部匿名还是部分匿名 |
查询任意一个区块上任意一笔交易,使用任意一个账户,通过交易中的用户地址查询真实用户信息,若查不到真实用户信息,则代表支持全部匿名。查询任意一个区块上任意一笔交易,使用审计或超级权限账户通过交易中的用户地址能够查询真实用户信息,而使用普通账户通过交易中的用户地址不能查询真实用户信息,则代表支持部分匿名 |
例一:全部匿名和部分匿名。例二:部分匿名。 |
1.5 |
通过白皮书与相关文档提交专家判断 |
三级 |
子账户对其父账户保持交易透明 |
选取一个子账户,模拟发起一笔交易,父账户通过交易中的子账户用户地址查询真实用户信息,若能查到子账户的真实用户信息,则代表子账户对父账户保持交易透明 |
例一:支持。例二:不支持。 |
2 |
通过白皮书与相关文档提交专家判断 |
三级 |
子账户对其他父账户保持交易匿名 |
选取一个子账户,模拟发起一笔交易,随机选取其他任意一个父账户,通过交易中的子账户用户地址查询真实用户信息,若不能查到子账户的真实用户信息,则代表子账户对其他父账户保持交易匿名 |
例一:支持。例二:不支持。 |
2 |
通过白皮书与相关文档提交专家判断 |
三级 |
对审计或超级权限账户保持交易透明 |
判断该区块链是否支持普通账户对审计或超级权限账户保持交易透明,查询任意一个区块上任意一笔交易,使用审计或超级权限账户,通过交易中的用户地址查询真实用户信息,若查到真实用户信息,则代表普通账户对审计或超级权限账户保持交易透明 |
例一:支持。例二:不支持。 |
1 |
通过白皮书与相关文档提交专家判断 |
二级 |
抗攻击能力 |
|
|
|
三级 |
抵御DDOS、黑客等网络攻击 |
根据白皮书与相关文档搜集抗攻击能力,通过工具分别模拟“10%、30%和51%”欺骗节点情况,同时欺骗节点构建虚拟网络,验证新节点加入时是否会进行识别虚拟网络,或区块链系统能够防范此虚拟网络的构建,通过工具模拟一定量节点向特点目标节点发送大量垃圾分组消息,节点和区块链系统是否有对拦击分组消息防范能力 |
例一:支持。例二:不支持。 |
3 |
工具进行模拟评测 |
三级 |
抗攻击能力程度 |
根据白皮书与相关文档搜集抗攻击能力,通过测试工具分别模拟30%、50%、51%的节点攻击,检验共识算法的结果是否与预期一致 |
例一:通过。例二:不支持。 |
2 |
工具进行模拟评测 |
三级 |
最大容忍节点失效个数 |
根据白皮书与相关文档搜集最多容忍失效或欺骗节点数N,通过工具模拟N个节点失效或欺骗,检验共识算法的结果是否与预期一致 |
例一:N/3节点失效。例二:自定义。 |
1 |
工具进行模拟评测 |
三级 |
最大容忍节点欺骗个数 |
根据白皮书与相关文档搜集最多容忍失效或欺骗节点数N,通过工具模拟N个节点失效或欺骗,检验共识算法的结果是否与预期一致 |
例一:N/3欺骗节点。例二:自定义。 |
1 |
工具进行模拟评测 |
|
|
|
|
二级 |
(+)其它 |
安全性包括身份验证、访问控制、加密体系和隐私、密码算法、匿名性、抗攻击能力,除以上项目之外还有更强大的功能更新。 |
例一:在安全性的抗攻击能力方面有更强大的功能更新。例二:在安全性的密码算法方面有更强大的功能更新。 |
1 |
专家审核判断 |