IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
UP-0252049
(2005-10-17)
|
등록번호 |
US-7707433
(2010-05-20)
|
발명자
/ 주소 |
- Rice, John R.
- Atallah, Mikhail J.
|
출원인 / 주소 |
- Purdue Research Foundation
|
대리인 / 주소 |
Bose McKinney & Evans, LLP
|
인용정보 |
피인용 횟수 :
4 인용 특허 :
32 |
초록
▼
Method and system for secure computational outsourcing and disguise of data, computer programs, pictures, and databases from unauthorized access, theft, and tampering using disguising and tamperproofing operations. In some embodiments, the disguising operation includes generating a random number for
Method and system for secure computational outsourcing and disguise of data, computer programs, pictures, and databases from unauthorized access, theft, and tampering using disguising and tamperproofing operations. In some embodiments, the disguising operation includes generating a random number for each data element, and modifying each data element with the random numbers. In some embodiments, the computer program, written in a first programming language, is partitioned into first and second programs; the first program determines whether access to the data is authorized, the second program entangles the second program and the data; and the second program is translated into a second programming language. An embodiment of the present invention comprises a method for identifying the subject of a first picture by comparison to a second picture. Embodiments comprise securing a computer program with real programming code by creating dummy program code and mixing the dummy and real program code.
대표청구항
▼
We claim: 1. A method for securing original data from unauthorized access, theft and tampering, said original data and an associated computer program being stored in a computer memory, said method comprising: performing a disguising operation on said original data to disguise said original data, wh
We claim: 1. A method for securing original data from unauthorized access, theft and tampering, said original data and an associated computer program being stored in a computer memory, said method comprising: performing a disguising operation on said original data to disguise said original data, wherein said original data comprises a plurality of data elements, and wherein said disguising operation comprises: generating an associated random number for each data element of said original data; and modifying each data element of said original data to generate modified data, each data element of said original data being modified by adding said associated random number to said data element; performing a tamperproofing operation on said computer program; saving said associated random numbers in a local file; sending said modified data to a remote system without said associated random numbers; receiving a modified result from said remote system, said modified result being computed using said modified data; and using said random numbers with said modified result to compute an unmodified result. 2. The method of claim 1, wherein seeds for generating said random numbers are obtained from said data elements. 3. The method of claim 1, wherein each said data elements comprises a function and said random numbers are generated using a perturbation of said function. 4. The method of claim 1, wherein each said data elements comprises a symbolic element and said symbolic element is used to perform said disguising operation. 5. The method of claim 1, wherein said computer program comprises instructions for accessing said original data. 6. The method of claim 5, wherein said computer program further comprises instructions for accessing information about said original data. 7. The method of claim 6, wherein said information about said original data comprises instructions for changing said original data. 8. The method of claim 7, wherein said information about said original data further comprises an identity of a person authorizing a change to said original data. 9. A method for securing data from unauthorized access, theft and tampering, said data and an associated computer program being stored in a computer memory, said computer program being written in a first programming language, said method comprising: partitioning said computer program into a first program and a second program; executing said first program to determine whether access to said data is authorized; executing said second program to entangle said second program and said data; and translating said second program into a second programming language to secure said data. 10. The method of claim 9, wherein said step of executing said first program comprises determining whether an authorized output device is being used to access said data. 11. The method of claim 9, wherein said step of executing said first program further comprises: obtaining said identity of said person using said computer to access said data; and determining whether said identity is authorized to access said data. 12. The method of claim 9, wherein said step of executing said first program further comprises: obtaining said identity of said computer being used to access said data; and determining whether said identity is authorized to access said data. 13. The method of claim 9, wherein said step of executing said second program further comprises intermixing portions of said second program and portions of said data. 14. A method for securing data from unauthorized access, theft and tampering, said data having an associated first computer program written in a first programming language, said data and said first computer program being stored on a computer, said method comprising the steps of: creating a second programming language; creating a second computer program to emulate said second programming language, said second computer program configured to be executed on said computer; and translating said first computer program into said second programming language using said second computer program to secure said data. 15. A computer-implemented method for securing a picture from unauthorized access, theft, and tampering, said method comprising: identifying a plurality of points on said picture to create a planar graph; determining coordinates for each of said points on said planar graph; indexing said point coordinates to create a first vector; and performing a disguising operation on said first vector. 16. The method of claim 15, further comprising after the step of determining coordinates for each of said points on said planar graph, the step of converting said point coordinates to represent a frontal view of said picture if said picture is not of a frontal view. 17. The method of claim 15, wherein said disguising operation comprises: ordering said vector according to a random permutation of integers; generating a second vector of the same length as said first vector; and adding said second vector to said first vector. 18. The method of claim 15, wherein said picture comprises an image of a human face. 19. The method of claim 15, wherein said picture comprises an image of a fingerprint. 20. A computer-implemented method for identifying said subject of a first picture by comparison to a second picture, said method comprising: identifying a plurality of points on said first and second pictures to create first and second planar graphs, respectively; determining coordinates for each of said points on each of said first and second planar graphs; indexing said point coordinates for each of said first and second planar graphs to create first and second vectors, respectively; performing a disguising operation on said first and second vectors; and comparing said first and second disguised vectors. 21. The method of claim 20, further comprising the step of revealing said subject of said first picture by performing an unveiling operation on said first disguised vector. 22. A method for securing computer program code from unauthorized access, theft, and tampering, said computer program code operable to perform a real operation on a real input to produce a real output, said method comprising: creating dummy program code operable to perform a dummy operation on a dummy input to produce a dummy output; replicating each of said real input and said dummy input at least one time; performing said real operation using said replicated real input and said replicated dummy input to produce a first output; performing said real operation using said first output if said first output comprises said real input to produce a second output; performing said dummy operation using said first output if said first output comprises said dummy input to produce a third output; storing said second output as said real output; and storing said third output as said dummy output. 23. The method of claim 22, wherein said computer program code comprises a plurality of program statements. 24. The method of claim 23, wherein said dummy code comprises a plurality of program statements.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.