Browse Prior Art Database

Software Protection by Decryption on Multi-Usage Serial Interface

IP.com Disclosure Number: IPCOM000062044D
Original Publication Date: 1986-Oct-01
Included in the Prior Art Database: 2005-Mar-09
Document File: 4 page(s) / 66K

Publishing Venue

IBM

Related People

Canova, FJ: AUTHOR

Abstract

This article describes an arrangement for decrypting and protecting software without using precious system option slots. This is accomplished by using an existing serial keyboard port. Software copy protection is a necessary technique used to protect the development investment made by software vendors. The diskette- based protection schemes in use are being defeated by easy to use bit copy tools. It has become apparent that a new encryption/decryption technique based on hardware is needed in order to protect the software better. The technique described herein is a unique low-cost hardware method of attaching decryption hardware to a personal computer. This hardware is referred to as a lock. The lock is a hardware addition to a personal computer (PC) which will protect software from being used without authorization.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 27% of the total text.

Page 1 of 4

Software Protection by Decryption on Multi-Usage Serial Interface

This article describes an arrangement for decrypting and protecting software without using precious system option slots. This is accomplished by using an existing serial keyboard port. Software copy protection is a necessary technique used to protect the development investment made by software vendors. The diskette- based protection schemes in use are being defeated by easy to use bit copy tools. It has become apparent that a new encryption/decryption technique based on hardware is needed in order to protect the software better. The technique described herein is a unique low-cost hardware method of attaching decryption hardware to a personal computer. This hardware is referred to as a lock. The lock is a hardware addition to a personal computer (PC) which will protect software from being used without authorization. It does not protect from copying the software, but does protect the software from executing without the proper lock installed. The configuration of the lock in relation to the PC and keyboard are shown in block diagram in Fig. 1. The lock hardware attaches to the keyboard port in a serial fashion between the keyboard and the PC system. It derives power from the keyboard cable and constantly checks for a "wakeup" status from the PC. It is otherwise in an idle state. In its idle state, the lock is transparent to the user and system. Keystrokes are transferred to the system without modification. The function of the lock upon wakeup is to act both as a memory extension and a decryption device. The wakeup is initiated by software in the PC. While it is awake, the keyboard operation is inhibited and the lock acts as a peripheral to the PC. The decryption method and a unique "seed" are part of an algorithm built into the lock device accessible while it is awake. The PC sends data to the lock to be decrypted and the lock in turn sends the executable data back to the PC. Software is protected by keeping only an encrypted program on its storage media (diskette, network, hard file, etc.). In order to be executable, a loader must send the program which is to be executed through the lock. If the lock is intended for this particular program, the decryption algorithm and unique "seed" will match the encryption method used and executable code will be returned from the lock for the personal computer memory. Software can also send periodic code fragments through the lock while the program is running in order to better protect against a memory image copy. Since the "seed" is unique in each lock that is made, only a program that is tailored to that lock will properly execute. A program that is run on a computer with a different lock, or a computer that does not have a lock, will not properly execute. The existing bidirectional clock and data signals that already exist on the personal computer keyboard attachment are used with the lock. The existing interface between keyboard...