In CBnT there's no direct measurement of IBB, so if corruption happens in IBB we see signature validation error, but do not see what exactly causes it. Fixing this.
Before
xaionaro@void:~/go/src/github.com/9elements/converged-security-suite$ go run ./cmd/pcr0tool/ diff ~/firmware/F0E_3A10.bin ~/firmware/F0E_3A10.bin-c.bin 2>/dev/null | grep -A 1000 Total
Total:
changed bytes: 0 (in 0 ranges)
hamming distance: 0
hamming distance for non-(0x00|0xff) bytes: 0
The earliest offset of a different measured bytes: 0xffffffffffffffff
After
xaionaro@void:~/go/src/github.com/9elements/converged-security-suite$ go run ./cmd/pcr0tool/ diff ~/firmware/F0E_3A10.bin ~/firmware/F0E_3A10.bin-c.bin 2>/dev/null | grep -A 1000 Total
Total:
changed bytes: 1 (in 1 ranges)
hamming distance: 8
hamming distance for non-(0x00|0xff) bytes: 0
The earliest offset of a different measured bytes: 0x3e4cc67
In CBnT there's no direct measurement of IBB, so if corruption happens in IBB we see signature validation error, but do not see what exactly causes it. Fixing this.
Before
After