80 likes | 200 Views
6.033 Quiz3 Review. Spring 2007. How can we achieve security?. Authenticate agent’s identity Verify the integrity of the request Check the agent’s authorization Complete mediation – answer all three questions for every request. Design Principles.
E N D
6.033 Quiz3 Review Spring 2007
How can we achieve security? • Authenticate agent’s identity • Verify the integrity of the request • Check the agent’s authorization • Complete mediation – answer all three questions for every request
Design Principles • Open Design Principle – need help spotting security holes • Minimize secrets: hard to keep them! • Economy of mechanism: fewer things to get right • Minimize common mechanism- fewer unintended communication paths • Fail-safe defaults: most users won’t change them • Least-privilege principle: limit the damage of an accident • Complete mediation- check every operation
Authentication • Establish the origin and integrity of the message • Sign and Verify: Sender creates an authentication tag.[ T= sign(M, K1)] • Receiver verifies it. [Result = Verify(M’, T’, K2)]
Implementation • Cryptographic transformations used – without knowing K, it should be “impossible” to construct a different message and tag that verifies correctly. • Algorithms are public, secret is just a key (longer keys harder to break) • Shared key : Sign and verify using the same key • Public-Key : Use private key to sign, public key to verify
Key Distribution • Trusted physical delivery • Use mutually-trusted third party • “3” forms a certificate and Charles is CA.
Attacks on authentication systems • Modifications to M and T • Reordering M • Extending M by appending information • Splicing several messages and tags • Attacks on cryptographic transformations • Sign and verify construction is hard!
Confidentiality • Encrypt – message to ciphertext • Decrypt – ciphertext to plain text • Can use shared key or public-key cryptography • Combining authentication and confidentiality- encrypt and then sign the encrypted message