A Method of Protecting a Program from Unauthorized use that is Resistant to a Brute Force Attack
This paper discusses methods for protecting software from unauthorized use. It is known that an attacker often tampers with the license key verification function, thereby eliminating protection. A new method is proposed based on cutting out an algorithmically important fragment of the program. The cut part is the key supplied to the licensed user. The freely distributed version does not contain a functionally important part of the program, and therefore can be considered protected. Without a key, an attacker cannot learn or break the verification algorithm, and is forced to attack only by bruteforce attack on the missing commands. Activation of licensed software and full access to its functionality are possible only with such a correct key, which is a sequence of commands from the original program. The upper limit on the key length is theoretically justified, guaranteeing resistance to hacking <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$\mathbf{O}\left(2^{n}\right)$</tex>. An algorithm for automatically selecting the location of the key in the program is proposed.
Institutions
- Siberian State University of Telecommunications and Information Science (RU)
Publication Details
- Published
- 2025-06-27
- DOI
- https://doi.org/10.1109/edm65517.2025.11096701
- Primary Topic
- Security and Verification in Computing
- Type
- article
- Field-Weighted Citation Impact
- 0.00