我一直在阅读这个有趣的链接https://news.ycombinator.com/item?id=13741625
我在哪里遇到过“块级签名”这个词。块级签名到底是什么意思?
任何指针都非常可观。
讨论的是关于允许您升级整个磁盘(或固件)映像的 OTA 更新。此图像将由块组成。
在这些块之上可能还会有一个文件系统,因此一些块将构成文件,而其他块将构成文件系统元数据,也许还有其他东西。
我读它的方式,在这种情况下块级签名意味着对整个磁盘映像(即所有块)进行签名。这与对作为图像一部分的文件进行签名形成对比。一个类比是对硬盘驱动器的所有块进行签名,而不是对磁盘上的每个单独文件进行签名。
讨论提出以下论点:
在许多情况下,签署档案可能就足够了。块级别更简单(全有或全无),因此与未签名部分混合的风险较小(侧载攻击)。
对于安全敏感的嵌入式设备(例如支付终端),如果设计正确,块级签名也将允许在引导期间进行硬件验证(第一阶段引导加载程序验证第二阶段,然后是内核等)。
事实上,如果您想对作为图像一部分的文件进行签名,那么您将需要解析文件系统,这通常是非常复杂且易于实现的错误。在块级别读取整个图像并计算签名要容易得多。