US2009172393A1PendingUtilityA1

Method And System For Transferring Data And Instructions Through A Host File System

Assignee: TANIK HALUK KENTPriority: Dec 31, 2007Filed: Dec 31, 2007Published: Jul 2, 2009
Est. expiryDec 31, 2027(~1.4 yrs left)· nominal 20-yr term from priority
G06F 21/79G06F 21/6218
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method for encrypting data may generate an encryption instruction and combine it with a payload of data to form a packet. The packet is associated with a command and passed to a host file system process. The packet, now associated with a second command, is received from the host file system process. The encryption instruction and the payload of data are extracted from the packet. At least a portion of the payload of data is encrypted based on the encryption instruction. A method for decrypting data may receive a packet and generate a decryption instruction. At least a portion of the packet is decrypted using at least the decryption instruction. The second packet comprising the decrypted packet is passed to a host file system process. A third packet comprising the decrypted packet is received from the host file system process. The decrypted packet is extracted from the third packet.

Claims

exact text as granted — not AI-modified
1 . A method of encrypting data, the method comprising:
 combining an encryption instruction with a payload of data to form a packet;   associating said packet with a command to form a command set;   passing said command set to a host file system process;   receiving a second command set from said host file system process, wherein said second command set comprises said packet associated with a second command;   extracting said encryption instruction and said payload of data from said packet in said second command set; and   encrypting at least said payload of data based on said encryption instruction, wherein said encrypting of at least said payload of data is independent of said host file system process.   
     
     
         2 . The method of  claim 1 , wherein said host file system process comprises:
 extracting said packet from said command set; and   associating a second command with at least said packet to form a second command set.   
     
     
         3 . The method of  claim 1 , wherein said command is a host file system write instruction. 
     
     
         4 . The method of  claim 2 , wherein said second command is a logical block address write instruction. 
     
     
         5 . The method of  claim 1 , wherein said encryption instruction is an instruction not to encrypt. 
     
     
         6 . A method of decrypting data, the method comprising:
 receiving a first packet;   decrypting at least a portion of said first packet using at least a decryption instruction to form a decrypted packet;   forming a second packet comprising said decrypted packet;   passing said second packet to a host file system process;   receiving said third packet from said host file system process, wherein said third packet comprises said decrypted packet;   extracting a payload of data from said decrypted packet in said third packet.   
     
     
         7 . The method of  claim 6 , wherein said first packet is received in response to a read command. 
     
     
         8 . The method of  claim 6 , wherein said first packet is received from a memory card. 
     
     
         9 . The method of  claim 6 , wherein said decryption instruction is determined utilizing a comparison of an address of said read command with an address range. 
     
     
         10 . The method of  claim 6 , wherein said decryption instruction is determined utilizing a data field extracted from said first packet. 
     
     
         11 . The method of  claim 6 , wherein said decryption instruction is an instruction not to decrypt. 
     
     
         12 . The method of  claim 6 , wherein said second packet further comprises a plurality of status bits, and said third packet further comprises said plurality of status bits. 
     
     
         13 . The method of  claim 12 , further comprising extracting said plurality of status bits from said third packet. 
     
     
         14 . The method of  claim 6 , wherein said second packet is a response to a logical block address read command. 
     
     
         15 . The method of  claim 6 , wherein said third packet is a response to a host file system read command. 
     
     
         16 . A method of transferring data and encryption instructions through a host file system, the method comprising:
 receiving a write command and payload of data from a host program;   determining a data verification field using at least said payload of data;   combining an encryption instruction, said data verification field, and said payload of data to form a packet;   generating a file system level write command based on said write command;   associating said packet with said file system level write command to form a file system level write command set;   passing a file system level write command set to a host file system process;   receiving an address-level write command set from said host file system process, wherein said address-level write command set is derived from said file system level write command set and comprises said packet associated with an address level command;   extracting said packet from said address-level write command set;   extracting said encryption instruction, said data verification field, and said payload of data from said packet;   verifying said payload of data using at least said data verification field;   encrypting at least said payload of data based on said encryption instruction, wherein said encrypting of at least said payload of data is independent of said host file system process;   generating a device level write command based on said address level command; and   associating at least said encrypted payload of data with a device level write command to form a device level write command set.   
     
     
         17 . The method of  claim 16 , wherein said device level write command set is communicated to said memory card. 
     
     
         18 . The method of  claim 16 , wherein said encryption instruction is encrypted based on said encryption instruction. 
     
     
         19 . The method of  claim 16 , wherein said data verification field is encrypted using said encryption instruction. 
     
     
         20 . The method of  claim 16 , wherein said device level write command set further comprises said device level write command associated with said encrypted instruction and said encrypted data verification field. 
     
     
         21 . The method of  claim 16 , wherein said data verification field comprises a start address pointer and an end address pointer, wherein said start address pointer comprises the beginning address of said payload of data, and said end address pointer comprises the end address of said payload of data. 
     
     
         22 . The method of  claim 16 , wherein said encryption instruction is an instruction not to encrypt. 
     
     
         23 . The method of  claim 16 , wherein said data verification field further comprises a first data field containing a signature, and a second data field containing the address of the first data field. 
     
     
         24 . The method of  claim 23 , wherein said signature comprises the address of said second data field. 
     
     
         25 . The method of  claim 16 , wherein said data verification field further comprises checksum calculated using at least said payload. 
     
     
         26 . A method of transferring data through a host file system, the method comprising:
 receiving a packet;   decrypting at least a portion of said packet using an decryption instruction, to form a decrypted packet;   forming an address-level read result comprising at least a portion of said decrypted packet;   passing an address-level read result to a host file system process;   receiving a file system level read result from said host file system process, wherein said file system level read result is derived from said address-level read result; and   extracting a payload of data from said file system level read result.   
     
     
         27 . The method of  claim 26 , wherein said packet is received from a memory card in response to a read command from the host. 
     
     
         28 . The method of  claim 26 , wherein said determination comprises comparing the address of said read command with an address range. 
     
     
         29 . The method of  claim 26 , wherein said determination comprises extracting a field from said packet and forming a decryption instruction derived from at least said field. 
     
     
         30 . The method of  claim 26 , wherein said decryption instruction is an instruction not to decrypt. 
     
     
         31 . The method of  claim 26 , wherein said address-level read result further comprises a plurality of status bits, and said file system level read result further comprises said plurality of status bits. 
     
     
         32 . The method of  claim 31 , further comprising extracting said plurality of status bits from said file system level read result. 
     
     
         33 . The method of  claim 26 , wherein said decryption instruction is determined utilizing a comparison of an address associated with said packet with an address range. 
     
     
         34 . The method of  claim 26 , wherein said decryption instruction is determined utilizing a data field extracted from said packet. 
     
     
         35 . A computer readable medium having stored thereon computer-executable instructions for performing the following steps:
 combining an encryption instruction with a payload of data to form a packet;   associating said packet with a command to form a command set;   passing said command set to a host file system process;   receiving a second command set from said host file system process, wherein said second command set comprises said packet associated with a second command;   extracting said encryption instruction and said payload of data from said packet in said second command set; and   encrypting at least said payload of data based on said encryption instruction, wherein said encrypting of at least said payload of data is independent of said host file system process.   
     
     
         36 . The computer readable medium of  claim 35 , wherein said host file system process comprises:
 extracting said packet from said command set; and   associating a second command with at least said packet to form a second command set.   
     
     
         37 . The computer readable medium of  claim 35 , wherein said command is a host file system write instruction. 
     
     
         38 . The computer readable medium of  claim 36 , wherein said second command is a logical block address write instruction. 
     
     
         39 . The computer readable medium of  claim 35 , wherein said encryption instruction is an instruction not to encrypt. 
     
     
         40 . A computer readable medium having stored thereon computer-executable instructions for performing the following steps:
 receiving a first packet;   decrypting at least a portion of said first packet using at least a decryption instruction to form a decrypted packet;   forming a second packet comprising said decrypted packet;   passing said second packet to a host file system process;   receiving said third packet from said host file system process, wherein said third packet comprises said decrypted packet;   extracting a payload of data from said decrypted packet in said third packet.   
     
     
         41 . The computer readable medium of  claim 41 , wherein said first packet is received in response to a read command. 
     
     
         42 . The computer readable medium of  claim 41 , wherein said first packet is received from a memory card. 
     
     
         43 . The computer readable medium of  claim 41 , wherein said decryption instruction is determined utilizing a comparison of an address of said read command with an address range. 
     
     
         44 . The computer readable medium of  claim 41 , wherein said decryption instruction is determined utilizing a data field extracted from said first packet. 
     
     
         45 . The computer readable medium of  claim 41 , wherein said decryption instruction is an instruction not to decrypt. 
     
     
         46 . The computer readable medium of  claim 41 , wherein said second packet further comprises a plurality of status bits, and said third packet further comprises said plurality of status bits. 
     
     
         47 . The computer readable medium of  claim 46 , further comprising extracting said plurality of status bits from said third packet. 
     
     
         48 . The computer readable medium of  claim 41 , wherein said second packet is a response to a logical block address read command. 
     
     
         49 . The computer readable medium of  claim 41 , wherein said third packet is a response to a host file system read command. 
     
     
         50 . A computer readable medium having stored thereon computer-executable instructions for performing the following steps:
 receiving a write command and payload of data from a host program;   determining a data verification field using at least said payload of data;   combining an encryption instruction, said data verification field, and said payload of data to form a packet;   generating a file system level write command based on said write command;   associating said packet with said file system level write command to form a file system level write command set;   passing a file system level write command set to a host file system process;   receiving an address-level write command set from said host file system process, wherein said address-level write command set is derived from said file system level write command set and comprises said packet associated with an address level command;   extracting said packet from said address-level write command set;   extracting said encryption instruction, said data verification field, and said payload of data from said packet;   verifying said payload of data using at least said data verification field;   encrypting at least said payload of data based on said encryption instruction, wherein said encrypting of at least said payload of data is independent of said host file system process;   generating a device level write command based on said address level command; and   associating at least said encrypted payload of data with a device level write command to form a device level write command set.   
     
     
         51 . The computer readable medium of  claim 50 , wherein said device level write command set is communicated to said memory card. 
     
     
         52 . The computer readable medium of  claim 50 , wherein said encryption instruction is encrypted based on said encryption instruction. 
     
     
         53 . The computer readable medium of  claim 50 , wherein said data verification field is encrypted using said encryption instruction. 
     
     
         54 . The computer readable medium of  claim 50 , wherein said device level write command set further comprises said device level write command associated with said encrypted instruction and said encrypted data verification field. 
     
     
         55 . The computer readable medium of  claim 50 , wherein said data verification field comprises a start address pointer and an end address pointer, wherein said start address pointer comprises the beginning address of said payload of data, and said end address pointer comprises the end address of said payload of data. 
     
     
         56 . The computer readable medium of  claim 50 , wherein said encryption instruction is an instruction not to encrypt. 
     
     
         57 . The computer readable medium of  claim 50 , wherein said data verification field further comprises a first data field containing a signature, and a second data field containing the address of the first data field. 
     
     
         58 . The computer readable medium of  claim 57 , wherein said signature comprises the address of said second data field. 
     
     
         59 . The computer readable medium of  claim 50 , wherein said data verification field further comprises checksum calculated using at least said payload. 
     
     
         60 . A computer readable medium having stored thereon computer-executable instructions for performing the following steps:
 receiving a packet;   decrypting at least a portion of said packet using an decryption instruction, to form a decrypted packet;   forming an address-level read result comprising at least a portion of said decrypted packet;   passing an address-level read result to a host file system process;   receiving a file system level read result from said host file system process, wherein said file system level read result is derived from said address-level read result; and   extracting a payload of data from said file system level read result.   
     
     
         61 . The computer readable medium of  claim 60 , wherein said packet is received from a memory card in response to a read command from the host. 
     
     
         62 . The computer readable medium of  claim 60 , wherein said determination comprises comparing the address of said read command with an address range. 
     
     
         63 . The computer readable medium of  claim 60 , wherein said determination comprises extracting a field from said packet and forming a decryption instruction derived from at least said field. 
     
     
         64 . The computer readable medium of  claim 60 , wherein said decryption instruction is an instruction not to decrypt. 
     
     
         65 . The computer readable medium of  claim 60 , wherein said address-level read result further comprises a plurality of status bits, and said file system level read result further comprises said plurality of status bits. 
     
     
         66 . The computer readable medium of  claim 65 , further comprising extracting said plurality of status bits from said file system level read result. 
     
     
         67 . The computer readable medium of  claim 60 , wherein said decryption instruction is determined utilizing a comparison of an address associated with said packet with an address range. 
     
     
         68 . The computer readable medium of  claim 60 , wherein said decryption instruction is determined utilizing a data field extracted from said packet.

Join the waitlist — get patent alerts

Track US2009172393A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.