How does signing with a strong name protect against forging a set of assemblies?
See the question and my original answer on StackOverflowStrong Naming is all about, well ... "naming". I quote from here: Using Strong Name Signatures
"Strong names offer a powerful mechanism for giving .NET Framework assemblies unique identities."
That's all what you'll ever get from this mechanism. It means I can forge your assembly and all assemblies it references, but I will not be able to pretend "you did it". I will not be able to pretend you are the publisher of these assemblies.