将公钥与签名一起发送是安全的



我正在创建一个区块链,交易消息有一个发件人和收件人字段,这些字段只是公钥(不是地址(和一个RSA签名字段。签名是使用发件人的私钥生成的。要验证邮件签名,应使用邮件发件人字段。因此,要更改签名,您应该更改发件人字段,然后更改邮件所有者。

这安全吗?这可以防止虚假消息吗?

type TransactionBody struct {
    Sender    rsa.PublicKey `json:"sender"`
    Recipient rsa.PublicKey `json:"recipient"`
    ...
}

要验证数字签名,建议发件人的公钥或其根 CA (如果使用证书(在收件人的信任库中可用(以前已通过其他方式添加(

验证

过程应验证签名消息的公钥在信任库中是否可用,以确保它来自受信任的颁发者。如果没有,任何人都可以生成一对密钥,只需包含他们的公钥即可签署有效的消息。

简而言之,您需要一种机制来验证公钥是否可信,否则数字签名将不会增加安全级别

相关内容

最新更新