1. A method for creating a secure snapshot, the method comprising: receiving, by a database storage system, information identifying a source database comprising database blocks storing sensitive data; receiving a request to create a secure snapshot storing data associated with a point-in-time copy of the source database, the secure snapshot representing the sensitive data as masked data obtained by applying a masking function to the sensitive data; creating, by the database storage system, the secure snapshot storing one or more masked database blocks comprising a masked representation of sensitive data, wherein at least a masked database block is shared with one or more other secure snapshots, the creating comprising: identifying an input database block for including in the secure snapshot, identifying a previously created database block of a previously created secure snapshot wherein the previously created database block stores masked data obtained by applying the masking function to a portion of sensitive data, determining that the input database block and the previously created database block match, and storing metadata identifying the previously created database block as representing the input database block if the input database block and the previously created database block are determined to match; and accessing the secure snapshot, wherein accessing the secure snapshot comprises retrieving data of the masked database block by using the stored metadata to access the previously created database block of the previously created secure snapshot.