How does firmware write protection work?
Generally speaking, read protection is to protect the IP, write protection is to prevent a glitch from bricking the product. 

So you want the read protection to be unbreakable without erasing the program (though the method does not have to be secret if it reliably erases the program) whereas write protection merely has to be set up so that it is extremely unlikely to occur accidentally, even if there are glitches etc.