Practical Antiforgery in Software Design