IP Library Granted Patent US 9,256,635
Granted Patent B2
US 9,256,635 · App. 14/696,228 · Granted Feb 9, 2016

Determining whether a data storage is encrypted

Inventors: Benjamin Czarny (San Francisco, CA); Jianpeng Mo (Burlingame, CA); Boris Dynin (Menlo Park, CA)
Assignee: OPSWAT, Inc.
G06F17/30371G06F17/30135G06F17/30864G06F21/85G06F3/1226G06F12/1408G06F21/00G06F21/62G06F2221/2107
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,256,635
App. No.
14/696,228
Granted
Feb 9, 2016
Kind
B2
Abstract

A method, program and/or system for determining whether a data storage is encrypted. A file is written through a first path to the data storage. The file is read through a second path from the data storage. First data known to have been written in the file is compared to second data that has been read from the file. When the first data matches the second data, the first path is determined not to have encrypted the file when writing to the data storage. When the first data does not match the second data, the first path is determined to have encrypted the file when writing to the data storage.

Claims (62)

1. A computerized system, comprising:

a memory storing executable instructions; and

a processor that performs a method by executing the instructions stored in the memory, the method comprising:

writing a file through a first path to a data storage, the file containing a first data;

requesting a starting location of the file in the data storage;

reading the file through a second path from the data storage using the starting location;

receiving a second data in response to the reading of the file;

comparing the first data to the second data;

if the first data matches the second data, determining that the first path did not encrypt the file when writing to the data storage; and

if the first data does not match the second data, determining that the first path encrypted the file when writing to the data storage.

2. The computerized system of claim 1 , wherein:

the requesting uses system and defrag APIs to request a starting disk sector location of the file.

3. The computerized system of claim 1 , wherein the method further comprises:

if the requesting does not result in successfully receiving the starting location, determining a device driver for the data storage.

4. The computerized system of claim 1 , wherein:

the second path involves a device driver that bypasses an operating system file system driver.

5. A method performed by a computer comprising:

the computer writing a file through a first path to a data storage coupled to the computer;

the computer reading the file through a second path from the data storage;

the computer comparing a first data known to have been written in the file through the first path to a second data that has been read from the file through the second path;

when the first data matches the second data, the computer determining that the first path did not encrypt the file when writing to the data storage; and

when the first data does not match the second data, the computer determining that the first path encrypted the file when writing to the data storage.

6. The method of claim 5 , further comprising:

the computer requesting a starting location of the file in the data storage; and

the computer reading the file at the starting location in the data storage.

7. The method of claim 6 , wherein:

the requesting requests a starting disk sector location of the file using system and defrag APIs.

8. The method of claim 6 , wherein:

successfully receiving the starting location indicates that the data storage is a physical volume.

9. The method of claim 5 , further comprising:

the computer requesting a starting location of the file in the data storage;

if the requesting results in successfully receiving the starting location, the computer proceeding with the reading of the file at the starting location in the data storage; and

if the requesting does not result in successfully receiving the starting location, the computer determining a device driver for the data storage.

10. The method of claim 9 , wherein:

unsuccessfully receiving the starting location indicates that the data storage is a virtual volume.

11. The method of claim 5 , wherein:

the first path involves an operating system call to the data storage.

12. The method of claim 5 , wherein:

the second path involves a device driver that bypasses an operating system file system driver.

13. A computer-readable program stored on a non-transitory computer-readable medium, the program, when executed by a computer, causing the computer to perform a method comprising:

the computer writing a file through a first path to a data storage coupled to the computer;

the computer reading the file through a second path from the data storage;

the computer comparing a first data known to have been written in the file to a second data that has been read from the file;

when the first data matches the second data, the computer determining that the first path did not encrypt the file when writing to the data storage; and

when the first data does not match the second data, the computer determining that the first path encrypted the file when writing to the data storage.

14. The computer-readable program of claim 13 , wherein the method further comprises:

the computer requesting a starting location of the file in the data storage; and

the computer reading the file at the starting location in the data storage.

15. The computer-readable program of claim 14 , wherein:

the requesting requests a starting disk sector location of the file using system and defrag APIs.

16. The computer-readable program of claim 14 , wherein:

successfully receiving the starting location indicates that the data storage is a physical volume.

17. The computer-readable program of claim 13 , wherein the method further comprises:

the computer requesting a starting location of the file in the data storage;

if the requesting results in successfully receiving the starting location, the computer proceeding with the reading of the file at the starting location in the data storage; and

if the requesting does not result in successfully receiving the starting location, the computer determining a device driver for the data storage.

18. The computer-readable program of claim 17 , wherein:

unsuccessfully receiving the starting location indicates that the data storage is a virtual volume.

19. The computer-readable program of claim 13 , wherein:

the first path involves an operating system call to the data storage.

20. The computer-readable program of claim 13 , wherein:

the second path involves a device driver that bypasses an operating system file system driver.

Assignments (1)
SECURITY INTEREST Recorded Dec 29, 2022
From: OPSWAT INC.
To: CITIBANK, N.A.
Reel/Frame 062236/0124 →
Continuity (2)
Continuation 14255829 · Apr 17, 2014
Related Publication 20150302045A1 · Oct 22, 2015