System for protection of software in memory against unauthorized use
First Claim
1. A method for protecting datawords within a source-file from unauthorized use after information representative of such datawords is stored in a randomly addressable memory unit having accessible and number data storing locations, the method comprising the steps of:
- defining a first sequence in which information pieces representative of two or more datawords of the source-file are to be accessed by a prescribed data processing unit;
storing said information pieces which are representative of the source-file datawords in the numbered locations of the memory unit according to a second sequence such that the numbered locations of the memory unit need to be addressed in a sequence different from the predefined first sequence if the stored information pieces are to be accessed by the data processing unit according to the first sequence;
storing key-generating data in the memory unit for generating descrambling key signals; and
providing descramble means, coupled to the memory unit and responsive to the descrambling key signals, for addressing the numbered locations of the memory unit so as to enable the data processing unit to access the information pieces from the memory unit in accordance with the first sequence.
0 Assignments
0 Petitions
Accused Products
Abstract
The address space of a data storage device is arbitrarily divided into a plurality of data-segments and a different data scrambling algorithm is assigned to each of the data-segments. A programmable address scrambling device is interposed between the address port of the data storing device and a system address bus. An appropriate one of many possible scrambling keys must be supplied to the programmable address scrambling device for each of the data-segments in order to retrieve a desired dataword within each of the data-segments.
194 Citations
20 Claims
-
1. A method for protecting datawords within a source-file from unauthorized use after information representative of such datawords is stored in a randomly addressable memory unit having accessible and number data storing locations, the method comprising the steps of:
-
defining a first sequence in which information pieces representative of two or more datawords of the source-file are to be accessed by a prescribed data processing unit; storing said information pieces which are representative of the source-file datawords in the numbered locations of the memory unit according to a second sequence such that the numbered locations of the memory unit need to be addressed in a sequence different from the predefined first sequence if the stored information pieces are to be accessed by the data processing unit according to the first sequence; storing key-generating data in the memory unit for generating descrambling key signals; and providing descramble means, coupled to the memory unit and responsive to the descrambling key signals, for addressing the numbered locations of the memory unit so as to enable the data processing unit to access the information pieces from the memory unit in accordance with the first sequence. - View Dependent Claims (2, 3)
-
-
4. A data protection system comprising:
-
(a) first memory means, having addressable memory locations, an address port and a data port, the first memory means being for storing protected datawords in the addressable memory locations where each protected dataword is associated with a source-file address different from a storage address defining the location in the first memory means where the protected dataword is stored. the address port of said first memory means being provided for receiving a storage address signal and the data port being provided for outputting a dataword signal representing a dataword stored in the addressable memory location designated by the storage address signal received at the address port; (b) data requesting means for supplying a data-request signal representative of the source-file address of a desired dataword; and (c) address scrambling means, coupled to the data requesting means the address port of the first memory means, for scrambling in accordance with one of a plurality of address scrambling algorithms the data-request signal supplied by the data requesting means to thereby produce and apply to the address port of the first memory means a scrambled storage address signal which is either representative or not representative of the storage address of the dataword associated with the source-file address represented by the data-request signal; where the address scrambling means has a key input port for receiving a key work which designates one of the plurality of address scrambling algorithms which may be carried out by the address scrambling means as the one to be carried out, where an appropriate key word is required for selecting the one address scrambling algorithm which will convert a data-request signal representative of the source-file address into a scrambled storage address signal representative of the storage address of the dataword desired by the data requesting means, and where said first memory means stores information representative of at least one appropriate key. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer system structured to discourage unauthorized use of software stored therein, the system comprising:
-
a data processing unit; a system bus operatively coupled to the data processing unit for opening carrying address signals generated by the data processing unit, data signals produced or used by the data processing unit and cipher-key signals generated by the data processing unit; address scrambling means operatively coupled to the system bus to receive the address signals and cipher-key signals of the system bus for scrambling the address signals of the system bus in accordance with one of a plurality of predefined scrambling algorithms selected by a cipher-key signal received over the system bus to thereby produce corresponding scrambled-address signals; and dataword storing means operatively coupled to the address scrambling means to receive the scrambled-address signals produced by the scrambling means and to output data signals representing datawords stored in locations of the dataword storing means as indicated by the received scrambled-address signals, wherein the dataword storing means stores key-generating datawords which are used by the data processing unit to generate the cipher-key signals and file-specified datawords which are used by the data processing unit to carry out operations specified by a source file, the file-specified datawords being distributed among the locations of the storing means such that one or more appropriate cipher-key signals must be generated by the data processing unit to select an appropriate one or more of the predefined scrambling algorithms if the operations specified by the source file are to be appropriately carried out. - View Dependent Claims (17, 18, 19)
-
-
20. A method for protecting information in a source file from unauthorized use after data representing the source file is stored in a content-accessible memory unit, the memory comprising:
-
partitioning the source file into a plurality of segments each to be scrambled by a different scrambling algorithm; storing the data representing each segment in locations of the memory unit according to the different scrambling algorithms; and storing descramble keys in said memory unit.
-
Specification