ABYSS : An Architecture for Software Protection IEEE Transactions on Software Engineering June 1990 Steve R. White and Liam Comerford Jaewon Lee
Introduction Traditional S/W protection method Problem Exploration writing in unusual way copy protection by feature on the distribution diskette attachment of special H/W devices Problem both logically and physically open system unacceptable burdens on the legitimate user Exploration physically secure tamper-resistant modules cryptographic approach crypto-microprocessor
Overview of ABYSS A Basic Yorktown Security System guarantees to execute exactly as it was written cannot be modified arbitrarily by the user the only encryption and decryption keys must be kept secret need physically secure device
Architecture of ABYSS Unprotected Processes Protected Processes … … Part of Application 1 High Privilege Supervisor Process Protected Part of Application 1 … … Right-To- Execute Storage Protected Part of Application N Unprotected Part of Application N Authorization Process
Protected Processors Minimal, but complete, computing system real-time clock random or pseudo-random number generator memory logically, physically, and procedurally secure unit Supervisor process ensuring the logical and procedural security of the protected processor cryptographic facility
S/W Partitioning Protected parts encrypted only decrypted when it is loaded into protected processor physically secure while inside the protected processor cryptographically secure while outside
Tokens New authorization mechanism queries responses generated randomly by protected processors sufficiently numerous that no collision different queries generate different responses responses sufficiently numerous that a correct random guessing is improbable sufficiently independent of each other token data is erased from the token as it is read
How Tokens Work Query Line Query = UP Up Down 1 Response Line 1 2 3 n Up Down 1 Response Line 1 Query Line 2 3 4 n Up Down 1 1 1 1 Response Line Response = 0 1
Attacks on The System Plaintext software Cryptanalytic attacks nonchosen plaintext attack Physical attacks On trusting the H/W manufacturer
New Capabilities Technical enforcement of terms and conditions Protection of distribution channels
Conclusion ABYSS enables the protected execution of application on protected processors logical, physical, and procedural security S/W is separated from its Right-To-Execute Doesn’t require changes to S/W distribution methods