CodeQL 文档

使用弱加密密钥

ID: go/weak-crypto-key
Kind: path-problem
Security severity: 7.5
Severity: error
Precision: high
Tags:
   - security
   - external/cwe/cwe-326
Query suites:
   - go-code-scanning.qls
   - go-security-extended.qls
   - go-security-and-quality.qls

点击查看 CodeQL 存储库中的查询

不正确地使用加密算法可能会导致敏感数据泄露、密钥泄露、身份验证失效、会话不安全和欺骗攻击。

建议

确保使用具有建议位大小的强密钥。对于 RSA 加密,最小大小为 2048 位。

示例

以下代码使用密钥大小不足的 RSA 加密。

package main

import (
	"crypto/rand"
	"crypto/rsa"
	"fmt"
)

func main() {
	//Generate Private Key
	pvk, err := rsa.GenerateKey(rand.Reader, 1024)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(pvk)
}

在以下示例中,密钥大小设置为 2048 位。

package main

import (
	"crypto/rand"
	"crypto/rsa"
	"fmt"
)

func main() {
	//Generate Private Key
	pvk, err := rsa.GenerateKey(rand.Reader, 2048)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(pvk)
}

参考

  • ©GitHub 公司
  • 条款
  • 隐私