A file security system is disclosed in which both a deterministic, non-predictable, pseudo-random, symmetric encryption key and an encrypted information file are highly resistant to cryptographic analysis or brute force trial-and-error attacks. The encryption key is formed by first combining a constant value and a secret E-Key Seed in accordance with a logic, algebraic, and/or encryption function to shuffle bits and perform a first many-to-few bit mapping to provide a first pseudo-random result, and by operating upon the result with a secure one-way hash algorithm to perform a second many-to-few bit mapping and thereby provide a pseudo-random message digest. The message digest may be truncated to provide a deterministic encryption key. The information file to be protected is then encrypted with the encryption key, and thereafter the encryption key is destroyed by the file manager of the host system. The encrypted information file and the constant value then are concatenated, and the... |
Citations|
| US4193115 | Dec 15, 1977 | Mar 11, 1980 | The United States of America as represented by the Secretary of Commerce | Method and apparatus for implementation of the CMAC mapping algorithm | | US5699427 | Jun 23, 1995 | Dec 16, 1997 | International Business Machines Corporation | Method to deter document and intellectual property piracy through individualization |
Referenced by|
| US6493842 | Jun 29, 1999 | Dec 10, 2002 | Sony Corporation Sony Electronics, Inc. | Time-varying randomization for data synchronization and implicit information transmission | | US6539517 | Nov 9, 1999 | Mar 25, 2003 | Sony Corporation Sony Electronics Inc. | Data transformation for explicit transmission of control information | | US6553381 | Nov 14, 2001 | Apr 22, 2003 | Sony Corporation Sony Electronics Inc. | Time-varying randomization for data synchronization and implicit information transmission | | US6970849 | Jun 27, 2000 | Nov 29, 2005 | Microsoft Corporation | Inter-server communication using request with encrypted parameter | | US6981262 | Jun 27, 2000 | Dec 27, 2005 | Microsoft Corporation | System and method for client interaction in a multi-level rights-management architecture | | US6996720 | Jun 27, 2000 | Feb 7, 2006 | Microsoft Corporation | System and method for accessing protected content in a rights-management architecture | | US7017189 | Jun 27, 2000 | Mar 21, 2006 | Microsoft Corporation | System and method for activating a rendering device in a multi-level rights-management architecture | | US7051200 | Jun 27, 2000 | May 23, 2006 | Microsoft Corporation | System and method for interfacing a software process to secure repositories | | US7080312 | Jan 24, 2003 | Jul 18, 2006 | Sony Corporation Sony Electronics Inc. | Data transformation for explicit transmission of control information | | US7095858 | Oct 25, 2001 | Aug 22, 2006 | Ranco Incorporated of Delaware | System and method for securely upgrading firmware | | US7171662 | Nov 28, 2000 | Jan 30, 2007 | Microsoft Corporation | System and method for software licensing | | US7171692 | Jun 27, 2000 | Jan 30, 2007 | Microsoft Corporation | Asynchronous communication within a server arrangement | | US7181017 | Mar 25, 2002 | Feb 20, 2007 | David Felsher | System and method for secure three-party communications | | US7188342 | Apr 20, 2001 | Mar 6, 2007 | Microsoft Corporation | Server controlled branding of client software deployed over computer networks | | US7197144 | Jun 8, 2000 | Mar 27, 2007 | Ethos Technologies, Inc. | Method and apparatus to authenticate a user's system to prevent unauthorized use of software products distributed to users | | US7203317 | Oct 31, 2001 | Apr 10, 2007 | Hewlett-Packard Development Company, L.P. | System for enabling lazy-revocation through recursive key generation | | US7225159 | Apr 17, 2001 | May 29, 2007 | Microsoft Corporation | Method for authenticating and securing integrated bookstore entries | | US7269736 | Feb 28, 2001 | Sep 11, 2007 | Microsoft Corporation | Distributed cryptographic methods and arrangements | | US7343297 | Jun 15, 2001 | Mar 11, 2008 | Microsoft Corporation | System and related methods for managing and enforcing software licenses | | US7352867 | Jul 10, 2002 | Apr 1, 2008 | General Instrument Corporation | Method of preventing unauthorized distribution and use of electronic keys using a key seed | | US7430542 | Nov 10, 2004 | Sep 30, 2008 | Microsoft Corporation | System and method for activating a rendering device in a multi-level rights-management architecture | | US7450946 | Oct 3, 2005 | Nov 11, 2008 | Kabushiki Kaisha Toshiba Toshiba Tec Kabushiki Kaisha | System and method for automatic wireless detection and identification of document processing service location | | US7457411 | Dec 12, 2003 | Nov 25, 2008 | New Mexico Technical Research Foundation | Information security via dynamic encryption with hash function | | US7546492 | Dec 22, 2005 | Jun 9, 2009 | Sony Corporation Sony Pictures Entertainment Inc. | Remotely repairing files by hierarchical and segmented cyclic redundancy checks | | US7555501 | Jun 9, 2004 | Jun 30, 2009 | Alpine Electronics, Inc. | Apparatus and method for restoring data | | US7562395 | Apr 14, 2005 | Jul 14, 2009 | Microsoft Corporation | System and method for accessing protected content in a rights-management architecture | | US7564970 | Aug 12, 2004 | Jul 21, 2009 | CMLA, LLC | Exponential data transform to enhance security | | US7577250 | Aug 12, 2004 | Aug 18, 2009 | CMLA, LLC | Key derivation functions to enhance security | | US7587368 | Jul 5, 2001 | Sep 8, 2009 | | Information record infrastructure, system and method | | US7606769 | Oct 12, 2005 | Oct 20, 2009 | Kabushiki Kaisha Toshiba Toshiba Tec Kabushiki Kaisha | System and method for embedding user authentication information in encrypted data | | US7634429 | May 6, 2004 | Dec 15, 2009 | Microsoft Corporation | Architecture for an electronic shopping service integratable with a software application | | US7653712 | Mar 30, 2005 | Jan 26, 2010 | EMC Corporation | Methods and apparatus for processing configuration data | | US7660902 | Nov 20, 2001 | Feb 9, 2010 | RSA Security, Inc. | Dynamic file access control and management | | US7707643 | Sep 17, 2004 | Apr 27, 2010 | Microsoft Corporation | System and method for accessing protected content in a rights-management architecture | | US7809648 | Dec 17, 2004 | Oct 5, 2010 | Microsoft Corporation | System and method for software licensing | | US7823208 | Jun 18, 2004 | Oct 26, 2010 | Microsoft Corporation | Method and system for binding enhanced software features to a persona | | US7861306 | Jun 2, 2004 | Dec 28, 2010 | Microsoft Corporation | Method and system for limiting the use of user-specific software features | | US7895651 | Jul 29, 2005 | Feb 22, 2011 | Bit 9, Inc. | Content tracking in a network security system | | US7958373 | May 14, 2009 | Jun 7, 2011 | Microsoft Corporation | Secure repository with layers of tamper resistance and system and method for providing same | | US7995760 | Jun 5, 2002 | Aug 9, 2011 | Nokia Corporation | Method for ensuring data transmission security, communication system and communication device | | US8032943 | Jun 17, 2009 | Oct 4, 2011 | Microsoft Corporation | Accessing protected content in a rights-management architecture | | US8074103 | Oct 17, 2008 | Dec 6, 2011 | Oracle International Corporation | Data corruption diagnostic engine | | US8077861 | Aug 12, 2004 | Dec 13, 2011 | CMLA, LLC | Permutation data transform to enhance security | | US8155310 | Jun 25, 2009 | Apr 10, 2012 | CMLA, LLC | Key derivation functions to enhance security | | US8156333 | May 29, 2008 | Apr 10, 2012 | Red Hat, Inc. | Username based authentication security | | US8190905 | Sep 29, 2006 | May 29, 2012 | NetApp, Inc. | Authorizing administrative operations using a split knowledge protocol |
Claims1. A method of protecting an information file from unauthorized access, which comprises the following steps: - combining a constant value and a secret plural bit sequence in accordance with an algebraic function to shuffle bits, perform a first many-to-few bit mapping, and produce a first pseudo-random result;
- performing a secure hash operation on said first pseudo-random result to effect a second many-to-few bit mapping and produce a second pseudo-random result;
- extracting a pseudo-random, symmetric encryption key from said second pseudo-random result;
- encrypting said information file in accordance with said pseudo-random, symmetric encryption key to form an encrypted information file; and
- concatenating said constant value to a beginning of said encrypted information file.
2. The method set forth in claim 1 above further including the steps of: - combining said encrypted information file and said constant value to form a concatenation;
- performing a secure hash operation on said concatenation to form a message integrity code;
- performing a checksum bit sequence operation on said constant value to form a checksum;
- interjecting said checksum between said constant value and said encrypted information file; and
- adding as a trailer at the end of said encrypted information file said message integrity code, said constant value, and said checksum.
3. The method of claim 1 wherein said step of combining includes a plurality of algebraic functions. 4. The method of claim 1 wherein said step of combining includes one or more logic functions. 5. The method of claim 1 wherein said step of combining includes one or more cryptographic functions. 6. The method of claim 1 further including the steps of: - combining said encrypted information file and said constant value to form a concatenation;
- performing said secure hash operation on said concatenation to form a message integrity code;
- adding said message integrity code as a trailer after said encrypted information file;
- performing a checksum bit sequence operation on said constant value to form a checksum;
- adding said checksum after said constant value at said beginning of said encrypted information file;
- adding said constant value as a redundant constant value to said trailer at an end of said encrypted information file after said message integrity code;
- adding said checksum as a redundant checksum to said trailer at said end of said encryption information file after said redundant constant value;
- testing said message integrity code to determine whether information file integrity has been lost;
- if information file integrity has not been lost, comparing said constant value with said redundant constant value to determine whether a match occurs to indicate that said pseudo-random symmetric, encryption key may be regenerated;
- if information file integrity has been lost, testing said checksum and said redundant checksum to determine which of said constant value and said redundant constant value is correct; and
- regenerating said pseudo-random, symmetric encryption key by using a correct one of said constant value and said redundant constant value.
7. The method of claim 1, wherein said secret plural bit sequence has a binary length that is larger than that of said constant value. 8. The method of claim 2, wherein said checksum bit sequence operation is a CRC-16 checksum operation. 9. The method of claim 2, wherein said checksum bit sequence operation is a CRC-32 checksum operation. 10. The method set forth in claim 1, wherein said constant value is a data file having plural bit fields including a length byte field, an E-Key Seed ID field, an encryption algorithm field, an original file extension field, an author-owner field, a summary information field, an audit entry field, and a checksum field. 11. The method of claim 1, wherein said pseudo-random, symmetric encryption key also is deterministic and non-predictable. 12. The method of claim 6, wherein said pseudo-random, symmetric encryption key also is deterministic and non-predictable. 13. The method of claim 1, wherein any hash function is substituted for said secure hash function. 14. The method of claim 1, wherein the steps of combining and performing are executed n times, and each said second pseudo-random result is concatenated to a previous said second pseudo-random result for an increased bit length of said pseudo-random, symmetric encryption key. 15. The method of claim 2, wherein said checksum bit sequence operation is any error correction algorithm for reconstructing said constant value. 16. The method of claim 1, wherein said algebraic function is replaced by plural bit-shuffling functions. 17. The method of claim 1, wherein said pseudo-random, symmetric encryption key is destroyed after said information file is encrypted. 18. An information file structure stored on a memory system for protecting information exchanged between communication stations, which comprises: - an encrypted information file area for storing an encrypted information file which has been formed through use of an encryption key generated by combining a constant value and a secret E-Key Seed in accordance with an algebraic function and performing a secure hash operation on an output of said algebraic function;
- a plural bit trailer having a message integrity code field for storing a message integrity code which is generated by forming a concatenation of said constant value and said encrypted information file and operating upon said concatenation with said secure hash operation; and
- a plural bit header having a constant value field concatenated to a beginning of said encrypted information file for storing a constant value, and a checksum field concatenated to said beginning next to said constant value field for storing a checksum generated by performing a checksum bit sequence operation on said constant value.
19. The information file structure of claim 18, further including: - a redundant constant value field having stored therein said constant value, and located next to said message integrity code field in said plural bit trailer; and
- a redundant checksum field having stored therein said checksum, and located next to said redundant constant value field in said plural bit trailer.
|