WO2007084758A2 - System and methods for secure digital data archiving and access auditing - Google Patents

System and methods for secure digital data archiving and access auditing Download PDF

Info

Publication number
WO2007084758A2
WO2007084758A2 PCT/US2007/001640 US2007001640W WO2007084758A2 WO 2007084758 A2 WO2007084758 A2 WO 2007084758A2 US 2007001640 W US2007001640 W US 2007001640W WO 2007084758 A2 WO2007084758 A2 WO 2007084758A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
archive
predetermined
secure
encryption
Prior art date
Application number
PCT/US2007/001640
Other languages
French (fr)
Other versions
WO2007084758A3 (en
Inventor
Duc Pham
Tien Le Nguyen
Original Assignee
Vormetric, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vormetric, Inc. filed Critical Vormetric, Inc.
Priority to JP2008551455A priority Critical patent/JP2009524153A/en
Priority to EP07716888A priority patent/EP1974299A4/en
Publication of WO2007084758A2 publication Critical patent/WO2007084758A2/en
Publication of WO2007084758A3 publication Critical patent/WO2007084758A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Definitions

  • the present invention is generally related to the digital data archiving systems and, in particular, to a system and methods of enabling the secure archiving and retrieval of digital data subject to access management and. auditing controls.
  • a general purpose of the present invention is to provide an efficient system and methods of creating and retrieving archive data in a secure, portable, and auditable manner.
  • the secure storage control layer includes an encryption engine providing for cipher processing of data segments transported by the stream.
  • a se ⁇ ure policy controller is coupled to the secure storage control layer and, responsive to identifying information obtained from the stream, retrieves a group of encryption keys from a secure storage repository to enable the encryption engine to selectively encrypt data segments or preferably a single encryption key conditionally enabling the encryption engine to decrypt select data segments.
  • the two-level encryption is preferably implemented in the present invention in a process that operates on data units, which include a unit metadata header and a data segment, transferred as part of the archive data stream.
  • the process includes selecting a segment encryption key corresponding to a predetermined data unit, first encrypting said data segment of said predetermined data unit with the segment encryption key to produce an encrypted data segment, second encrypting the segment encryption key by each of a set of security control encryption keys and storing the segment encryption key, as encrypted, in a security metadata header, and packaging the unit metadata header, the security metadata header and the encrypted data segment as said replacement data unit in the archive data stream.
  • Access to the archive data is securely managed by selectively controlling the retrieval of any of the security control encryption keys that would allow decryption of the segment encryption key.
  • the process includes retrieving a security control encryption key from a secure repository, conditionally subject to a security policy that determines the user groups that may retrieve a corresponding security control encryption key, using the security control encryption key to decrypt • from a security metadata header the corresponding segment encryption key, decrypting the corresponding encrypted data segment, and packaging the unit metadata header, and the decrypted data segment as a replacement data unit in the archive data stream.
  • An advantage of the present invention is that archived data is reliably secured effectively transparent to the particular implementation of the archiving application and underlying archive driver and devices. Consequently, access, subject to long term maintenance of the archive data, can be assured.
  • the security controls governing access to the archived data are flexible and allow for access by multiple security policy defined groups.
  • Another advantage of the present invention is that implementations of the present invention are readily adaptable to and support high performance, scaleable, data archiving system architectures.
  • the security control driver layer as typically implemented by the present invention is easily installed and maintained in well-established conventional archiving system architectures. Once installed, subject to ordinary policy management maintenance, the operation of the present invention is very nearly if not fully automated.
  • a further advantage of the present invention is that the system supports and enforces security policy defined key management controls. Multiple security keys can be defined on an essentially per-storage-unit basis, allowing implementation of fine grained, cross-cutting concern security controls over access to the archived data.
  • the policy defined key management controls also enables full key rotation for all keys automatically or by minimal, centralized management of the key policies.
  • Still another advantage of the present invention is a variety of implementation architectures are supported enabling use in a variety of configurations and controlled uses.
  • the secure key repositories can be flexibly implemented as local and remote software- based modules or on security control appliance. Access to archived data can be constrained to specific authenticated users or to defined user groups provided with a group authentication identifier.
  • Yet another advantage of the present invention is that full auditing of archive data access is automatically supported through the required use of the secure key repositories. Each access of the repository to obtain an encryption key is subject to security policy evaluation and, concurrently, attempt and action logging by the repository server. This auditing allows comprehensive examination and management of the archive data use.
  • Figure 1 is an architectural block diagram of a distributed archiving system implementing a preferred embodiment of the present invention
  • Figure 2 is ⁇ simplified block diagram illustrating a logical archive data stream incorporating multiple archiving data sessions
  • Figure 3 is a simplified system block diagram of illustrating the interleaving acquisition of archive data streams in accordance with a preferred embodiment of the present invention
  • Figure 4 provides a block diagram illustrating an interleaved archive data stream produced by an archiving application in accordance with a preferred embodiment of the present invention
  • Figure 5 is a block diagram of an interleaved archive data stream as processed in accordance with a preferred embodiment of the present invention to provide for the " selective encryption of archive unit data segments;
  • Figures 6A and 6b provide state diagrams illustrating preferred processes of validating and enabling the encryption and decryption of content data segments in accordance with preferred embodiments of the present invention
  • Figure 7 is a block diagram of a archive security controller providing for the processing of an archive session data header in accordance with a preferred embodiment of the present invention
  • Figure 8 is a block diagram of a archive security controller providing for the processing of archive units to produce secure archive units in accordance with a preferred embodiment of the present invention
  • Figure 9 is a simplified process diagram illustrating the preferred procedure for generating secure key groups for use in connection with a preferred embodiment of the present invention.
  • Figure 10 is a simplified process diagram illustrating a preferred method of providing for the secure and recoverable encryption of an archive unit data segment in accordance with a preferred embodiment of the present invention
  • Figure 1 1 is a block diagram of a archive security controller providing for the processing of secure archive units to produce clear text archive units in accordance with a preferred embodiment of the present invention
  • Figure 12 is a block diagram of a secure repository server implemented in accordance with a preferred embodiment of the present invention.
  • Figure 13 is a system block diagram illustrating a deployment architecture supporting either or both use of local and remote secure key repositories in accordance with a preferred embodiment of the present invention.
  • Figure 14 is a system block diagram illustrating a deployment architecture supporting affiliate or reader-only archive data access systems as implemented in accordance with a preferred embodiment of the present invention.
  • the library hardware system 14, 16 will typically implement a standard interface 18, such as a multi-channel fiber channel controller, and a vendor supplied device driver 20 to enable integration with the host computer system 12. While the hardware system 14, 1 ⁇ and even interface 18 may be proprietary, the device driver 20 is typically configured to emulate, relative to an archiving application 22, a standard or at least well-defined automated archiving systems. Typical emulation targets include the various conventional and widely adopted automated tape libraries from StorageTek®, Quantum®, ADIC®, HP® and other competitive archive system manufacturers.
  • NetBackupTM, VERITAS Backup ExecTM, Legato NetWorkerTM, CommVault® GalaxyTM, IBM® Tivoli® Storage Manager, Computer Associates BrightStor®, and BakBone® NetVaultTM, is typically able to interface with one if not several of these de-facto standard tape library device drivers.
  • archive data streams are at least logically collected and persisted on archive devices 14, 16 as a series of archive data sets or sessions 40.
  • Each archive session is identified by a session metadata header 42 j _ N and followed, again at least logically, by the associated archive data content 44- ⁇ N .
  • the archive session metadata header 42 1 -N is typically a proprietary data structure created and defined by the archive application 22 to describe the source of the archived data and the form and nature of the archive data content 44 ⁇ N collected into the corresponding archive data session 40.
  • a secure archive driver 28 is implemented as a control layer interposed between the archive application and the vendor supplied archive device driver 20.
  • the archive device driver 20 is provided as a kernel resident device driver conformant with the programming interface architecture of the operating system implemented by the host computer system 12.
  • the secure archive driver 28 is preferably also provided as an operating system conformant device driver that presents to the archive application 22 as just another well-known archive device driver.
  • the secure archive driver 28 may be implemented as a wrapper around the archive device driver 20, effectively hiding and potentially securing the archive device driver 20 from use by the archive application 22 and other applications.
  • the archive device driver 20 and the secure archive driver 28 both appear to the archive application 22 as equally available archive device drivers of well-known type.
  • the secure archive driver 28 preferably functions as an archive data processing proxy that relies on the archive device driver 20 to actually perform the archive data storage and retrieval operations requested by the archive application 22. That is, the public interface of the secure archive driver 28 represents an emulation interface of a known archive device driver having a relatively comprehensive set of archive device control features.
  • archive data streams 52 1 N are preferentially directed to and processed through secure archive driver 28.
  • all features and functions implemented by the particular third- party vendor implementation of the archive device driver 20 remain accessible in the presence of the secure archive driver 28 by proxy passthrough by way of the emulated archive device driver interface presented by the secure archive driver 28.
  • Operation of the secure archive driver 28 is preferably controlled by a policy enforcement manager (PEM) 30.
  • the underlying operation of the secure archive driver 28 is to selectively encrypt and decrypt the archive data stream transferred through the secure archive driver 28.
  • the PEM 30 preferably operates to observe the transfer of data and qualify the ciphering operation of the secure archive driver 28, including as appropriate obtaining encryption keys from a secure repository server 32 for use by the secure archive driver 28 and to authenticate, directly or indirectly as available, the user or operator 54 of the archiving application 22.
  • the secure policy server 32 is used to store and qualify access to sets of encryption keys.
  • the secure policy server 32 may be implemented on a remote server, as generally shown in Figure l y or included as a largely software- based component of the host computer system 12.
  • a clear text archive data stream 60 is illustrated in Figure 4.
  • an archive session metadata header 62 is initially provided by the archive application 22.
  • the archive session metadata header 62 is typically, a proprietary data structure that, in general, identifies the make ⁇ nd version of the archive application 22, an archive session creation date, a catalog of archive data sources, whether the clear text data is compressed, whetherthe archive device should perform hardware-based data compression, and any applicable data compression algorithm parameters.
  • a session or volume number and other bookkeeping metadata sufficient to identify the nature and scope of the archive operation that created the archive data stream 60 is also included in the archive session metadata header 62.
  • each subsequent content block, organized in a stream sequence of archive units 64 ⁇ N is logically structured to include an archive unit metadata header 66-
  • Each archive unit metadata header 66 ⁇ N typically includes a linking session or volume identifier and a sequence number, thereby identifying logical participation in a particular archive data stream 60, and metadata descriptive of the file data included archive unit content segment
  • the 60 is modified to incorporate a security control identifier and to selectively encrypt the content segments 68 ⁇ N .
  • the incorporation of the security control identifier is accomplished by including the identifier in an available session description field conventionally provided by the archive application 22.
  • a session description field is an otherwise empty text field offered by the archive application 22 to allow an administrator to add a custom text string to describe the type or instance of the archive session.
  • the archive application 22 directly transcribes this text string into an optionally used field within the archive session metadata header 62, or into each of the metadata headers 6O 1 ⁇ N , or both.
  • the text string is entirely non-functional in that the presence, absence, or content of the string has no affect on the operational function of the archive application 22; the content of the field is thus functionally transparent to the archive application 22.
  • any other functionally transparent field that occurs in the session metadata header 62, or in the metadata headers 66 ⁇ can be used.
  • a dedicated field may be specifically provided, preferably in the session metadata header 62.
  • the security control identifier is preferably created by operation of the PEM 30.
  • a GUI may be presented to the user 54 to assist in the creation of the identifier.
  • the security control identifier is inserted into the chosen descriptive field within the session metadata header 62, as is preferred, or metadata headers 60 ⁇ N , as received by the secure archive driver 28 from the archive application 22.
  • the archive data stream is further processed through the secure archive driver 28 to provide a secured, persistable stream 70.
  • the individual archive units 64 ⁇ N are processed by the secure archive driver 28 dependent on the security control identifier specified for the session that the archive units 64 ⁇ N belong to and, optionally, the content source of the archive data contained in each of the archive units 64 1 N . Consequently, the system .10 implemented by the present invention is not only tolerant, but fully supports any interleaving of archive units 64 1 N belonging to different archive sessions by the archive application 22. Furthermore, the system 10 can potentially vary the security controls applied to the data being archived based on the particular source of the data, as defined in the metadata headers 66 ⁇ typically in terms of a universal resource identifier (URI) or source filesystem.
  • URI universal resource identifier
  • the secure archive driver 28 preferably functions to encrypt and, optionally, compress the data contained in an archive unit 64 ⁇ N .
  • a content segment 6S 1 is encrypted and replaced in the archive data stream 60 by the combination of an encryption metadata header 71 ⁇ and encrypted content segment 74 ⁇ .
  • a symmetric encryption key is generated for the archive unit ⁇ 4 1 and used to create the encrypted content segment 74 ⁇ . This symmetric key is then encrypted using the public encryption key members of a group of public key encryption key pairs. The multiple encrypted copies 7O 1 , A _ ⁇ .
  • the metadata header 6O 1 , encryption metadata header 71 ⁇ and encrypted content segment 74 1 then constitute a replacement archive unit 64 ⁇
  • the replacement archive units 64-,_ N including any selectively determined not be processed, such as the archive unit 64 2 , are substituted by the secure archive driver 28 to create the archive data stream 70.
  • the archive units 64 ⁇ N are discretely processed to accommodate the potential interleaving of archive units from different archive sessions in the archive stream and to allow differential encryption control based on source content identifiers or other qualifying information contained in the archive unit metadata headers 66 ⁇ N .
  • the archive units 64 1 and 64 N are encrypted subject to the same security controls; specifically, subject to the same security control identifier, though potentially with a different symmetric key.
  • the archive units 64 3 and 64 4 are encrypted subject to different security controls, either as belonging to a different session having a different security control identifier or referencing ⁇ different source content location in either or both of the corresponding metadata headers 6O 2 ⁇ - [0053]
  • the preferred process 80 of resolving a security control identifier for purpose of enabling the processing of the archive units ⁇ 4-,_ N is generally shown in Figure OA.
  • An authentication token or equivalent data 82 is obtained either from the user or operator 54 or from the security system implemented by the underlying operating system implemented by the host computer system 12.
  • the security control identifier 84 is obtained from the user or operator 54 typically through a GUI presented by the PEM 30.
  • the PEM 30 may back populateja configuration file used by the archive application 22 to persist the security control identifier, equivalent to the security control identifier having been simply entered as a descriptive text string using the administrative GUI provided by the archive application 22 itself.
  • the security control identifier is received by the secure archive driver 28 and passed to the PEM 30.
  • the security control identifier is a string list of one or more names of security control groups predefined on the security repository server.
  • a security control identifier may be defined as "corpA-adminOl , corpA- division04," where the secure repository server stores, subject to authenticated access, one group of encryption keys associated with the identifier "corpA- adminOl " and another group of encryption keys associated with the identifier "corpA-division04."
  • Each of these groups may contain one or more encryption keys.
  • the authentication token 82, security control identifier 84, and, optionally, a content identifier 86 extracted from the corresponding metadata header 66 ⁇ N and passed to the PEM 30 are then presented as a request to the secure repository server 32.
  • the ⁇ uthentic ⁇ tion token 82 is enabled, subject to the authentication rules implemented by the repository 32, the collected encryption keys 88 referenced by the security control identifier 84 are returned. These encryption keys 88 may be non-persistently cached by the PEM 30.
  • the secure archive driver 28 On the implied confirmation that encryption is enabled for this given archive unit 64 ⁇ N , the secure archive driver 28 generates a symmetric key 90.
  • the corresponding content segment 68 ⁇ N is encrypted with the symmetric key 90 and a corresponding encryption metadata header 6O 1 ⁇ N is created.
  • the symmetric key 88 is encrypted with each of the keys contained in the returned group of keys 88, and stored in a slot data structure 76 ⁇ _ ⁇ , A w. within the corresponding encryption metadata header 66 ⁇ N .
  • FIG. OB The preferred process 100 of resolving a security control identifier for the purpose of reverse processing the archive units 64-
  • a secure authentication token 82 is obtained by the PEM 30.
  • a secure control identifier 84 is extracted by the secure archive driver 28 for each session stream transferred though the secure archive driver 28.
  • the content identifier is optionally extracted and passed with an identification of the corresponding session to the PEM 30.
  • This request is forwarded with the authentication token 82 to the secure repository server 32.
  • the groups of encryption keys identified by the security control identifier 86 are searched for a match.
  • a response 102 is returned to the secure archive driver 28, selectively including a decryption key depending on whether a secure match was found. In the absence of a decryption key, the corresponding archive unit 64 1-N is passed through the secure archive driver 28 without modification.
  • the secure repository server 32 implements an access request log to collect general and administrative operating information, such as system initialization, shutdown, .and restart, and network connects and disconnects between different client/server components, and backup and restore operation requests of critical security parameters (CSPs), including hosts, policies, and keys.
  • CSPs critical security parameters
  • Operational information related to individual and groups of access requests will also be logged, including the request time, the network identification of the system originating the request and the resulting response, and the requested backup and restore archive actions.
  • Each logging event is preferably stored with a timestamp, event type identifier, severity value, subsystem identifier, success value, object (key, policy, host, etc.) accessed as part of the action, and an optional action description. Consequently, the present invention provides a well-defined auditing mechanism for all secured session data accesses, including both succeeded and failed requests.
  • the decryption key is applied sequentially to the encrypted symmetric keys 7O 1 ⁇ N / A . X > and the decryption verified preferably using an envelope encryption verification or other known-text verification technique. • Once verified decryption of a symmetric key is achieved, the symmetric key is used to decrypt the corresponding content segment 68 ⁇ N . The encryption metadata header 72 1-N is discarded, and the resulting clear text archive unit 64 1 N is substituted into the archive data stream.
  • a preferred implementation 1 10 of the secure archive driver 28, relative to the processing of session metadata headers, is shown in Figure 7.
  • a control and composition processor 1 12 is preferably implemented as a primary control module within the secure archive driver 28.
  • the control and composition processor 1 12 identifies the header format from an internal catalog of known archive application 22 session header identifiers.
  • the control and composition processor 1 12 checks for and typically updates the metadata header 62 to contain a valid control identifier.
  • the PEM 30 monitors the operation of the control and composition processor 1 12 to access and provide an appropriate secure identifier from an identifier store 1 16 preferably maintained securely within the PEM 30.
  • the contents of the key store 166 are preferably verified, through operation of the PEM 30, against the contents of the secure repository server 32.
  • the modified archive unit metadata headers 62 are then substituted 1 18 into the outbound archive data stream 70.
  • Figure 8 illustrates the preferred implementation 120 of the secure archive driver 28 relative to the processing of archive units 64 ⁇ N .
  • AS archive units 64 ⁇ N are received from the archive application 22, the metadata headers 66 ⁇ N are processed through the control and composition processor 1 12 to extract session and, as appropriate, content identifiers.
  • the control and composition processor 1 12 posts a request for the group keys to and through a key set store 124 maintained preferably as a secure cache store within the PEM 30.
  • the contents of the keyset store 124 are preferably backed, through, the operation of the PEM 30, by the secure repository server 32.
  • a symmetric key is obtained from a random symmetric key generator 126 provided within the secure archive driver 28.
  • the symmetric key is provided to an encryption and compression processor 122.
  • Compression control parameters including a flag determining whether compression is to be effected is either encoded in the secure control identifier or, preferably, returned from the repository server 32 as control information accompanying the encryption key groups.
  • the control and composition processor 1 12 is responsible for assembling the replacement archive units 64 ⁇ N and placing them in the outbound archive data stream 70. Where an archive unit 64-
  • the reverse processing 130 of archive " units 64 1 N through a preferred embodiment of the secure archive driver 28 is shown in Figure 9.
  • the archive unit metadata headers 66 ⁇ N and encryption metadata headers 66 ⁇ N of the archive data stream 70, as received from an archive device driver 20, are processed by control and composition processor 1 12. Recovery of session identifiers from the archive metadata headers 66- ⁇ allows the control and composition processor 1 12 to identify the applicable session security control identifiers either typically by reference to the identifiers recorded from the archive unit session headers 62 previously processed through the archive data stream 70. As applicable, content identifiers are also extracted from the archive metadata headers 66-,_ N . Requests for content segment applicable decryption keys are posted to the key set store 124 of the PEM 30.
  • the control and composition processor 1 12 verifiably decrypts a copy of the symmetric encryption key stored in the corresponding encryption metadata headers 66 ⁇ N .
  • Recovered symmetric encryption keys are used by the encryption and compression processor 122 to construct clear-text content segments 68 ⁇ N from encrypted content segments 74 ⁇ N .
  • Compression parameters are also recovered from the encryption metadata headers 66 ⁇ N and used, as applicable, to decompress decrypted content segments 74 ⁇ N .
  • the control and composition processor 1 12 is responsible for assembling the replacement archive units 64 ⁇ N and placing them in the outbound archive data stream 60.
  • a preferred embodiment 140 of a secure repository server 32 is shown in Figure 10.
  • the secure repository server 32 is preferably implemented as a secure web services module 142 executable as a daemon process either.on a host computer system 12, another server computer system typically executing a conventional network operating system, generally as indicted in Figure 1 , or similarly on an appliance computer system using an embedded network operating system.
  • Implementation is simplified by standardizing on a daemon process architecture, rather than kernel-based.
  • providing access using a standard web services protocol simplifies system administration and network proxy management.
  • the secure web services daemon 142 Upon receipt of a web service request, the secure web services daemon 142 qualifies the request against the authentication token.
  • the authentication token is verified against either a locally accessible smart card 144, or similar security device, or external security server 146 implementing an active directory or LDAP security service. Where the authentication token is verified, the request is considered.
  • a local key store 144 is accessed to retrieve the security control identifier determined encryption key groups.
  • the private key member of the encryption key pair identified by the authentication token is retrieved from the local key store 144.
  • Both the initial request and eventual response by the secure web services daemon 142 is transferred through a secure network connection with the requesting PEM 30.
  • the preparation of encryption key groups is preferably performed on a secure archive management computer system that hosts the secure repository server 32 or that can securely connect to the secure repository server 32.
  • An administrative process 150 as shown in Figure 1 1 , is used to collect public key encryption key pairs into administratively defined key groups 156 ⁇ N .
  • Each of the key groups 1 56 ⁇ N is assigned a unique text identifier 1 58 ⁇ N .
  • the criteria for grouping keys is administratively determined, typically on the basis of a commonality of access needs and rights.
  • a management group is typically defined to contain the master keys used by the archiving entity, corporation or business, to ensure historical accessibility.
  • Other key groups are typically defined for the department or business unit that generated the archive data and for an organization or other entity, whether internal or external to the archive data originating department, that is designated as having the right to read, review, or audit the archived data.
  • the resulting discrete key groups 15O 1 ⁇ are then stored to the local key store of the secure repository server 32, indexed by the corresponding unique text identifiers 158 ⁇
  • a variety of information can be extracted from the host computer system 12 and archive data streams 60 that can be used to identify and qualify the use of discrete key groups 1 56 ⁇ N .
  • Information identifying the host computer system 12, the archive application 22, and the content of an archive data stream 60 can be processed by PEM 30, whether obtained directly by the PEM 30 or through the secure archive driver 28, to create an attribute set that is sent as part of a request to the secure repository server 32.
  • the attribute set includes the security control identifier, authentication token, the user name or ID of the process owner running the archive application, the IP address and DNS name ⁇ ssigned to the host computer system 12, the group user id (GUID) and hardware device identifier specified by the archive application 22, and information extracted from fields existing within the archive metadata header 62 and archive unit metadata headers 66 ⁇ N including descriptive keywords and the filesystem metadata identifying the archived content.
  • the attribute set may also include an archive application identifier, the command line string used to invoke the archive application.
  • a preferred process 160 of selectively retrieving encryption key groups 1 56 ⁇ N for use in the encryption processing of an archive session is illustrated in Figure 12.
  • the secure repository server 32 operates in response to a request to return the encryption key pairs associated with the key groups identified by the concurrently provided security control identifier 84, preferably further qualified by a content identifier 86 and other attribute set data.
  • the secure repository server 32 identifies 162 the corresponding key groups, here shown as including at least key groups 156 2 and 156 N .
  • the encryption key groups 156 ⁇ N may include additional encryption key pairs in any or all of the encryption key groups 156-
  • a secure archiving system constructed in accordance with the present invention can be distributed and operated in a variety of modes rel ⁇ tive to the location and number of available secure repository servers 32.
  • a PEM 30 of a secure archiving system 170 can connect with and use a local secure repository server 32 co-resident and executed on the same host computer system 12. Consistent with the preferred web services implementation of the secure repository server 32, a secure local network-based connection is supported between the PEM 30 and secure repository server 32.
  • remote systems 1 72 ⁇ N can support separate secure repository servers 32. These remote systems 1 72 ⁇ N are preferably accessible' through secure network connections 174.
  • each of these remote systems 1 72 ⁇ N can store the same and different sets of key groups 1 56 ⁇ N , providing generalized redundancy as well as allowing specialization as administratively determined appropriate for the combined network of remote systems 172 ⁇ N .
  • the PEM 30 maintains a persistent list of the remote systems 1 72 ⁇ N , administratively updateable or automatically updateable from any of the remote systems 172 ⁇ N potentially whenever a connection is made to any of the remote systems 172 ⁇ N . This configuration allows the PEM 30 to search a variety of secure repository servers 32 for the necessary information to enable operation.
  • a secure archiving system 182 is deployed with access through a network 1 74 to remote systems 1 72 ⁇ N hosting secure repository servers 32.
  • one or more restricted or affiliate secure archive reader systems 1 84 ⁇ N are provided also with network access to the remote systems 172 ⁇ N .
  • the affiliate systems 184 ⁇ N each preferably implements a restricted PEM 186 that differs from . a standard PEM 30. The specific differences are, in the preferred embodiments, optional with the effect of controlling the archive data streams that the restricted PEM 186 allows for processing by the associated secure archive driver 28.
  • the preferred set of restrictions include a restriction againstthe creation of a secure archive stream, thereby enforcing read-only operation.
  • Another restriction is a limitation to using a predefined authentication token in requests to a secure repository server 32, thereby constraining the access to secure archive data to a well- defined set.
  • Implementing this limitation enables an administrator to effectively control or revoke the access privileges of the corresponding affiliate systems 1 84 ⁇ N by altering the key groups 1 5O 1 ⁇ N stored by the secure repository servers 32.
  • administrative restrictions on access to the key groups 1 50 ⁇ N based on the domain address of the affiliate systems 184,, N or unique identifiers assigned to the individual restricted PEMs 186 can be established to selectively restrict operations of the affiliate systems 1 84 ⁇ N . Removal of the key groups 156 ⁇ N from the secure repository servers 32 of the accessible remote systems 172 1-N will globally revoke all access rights.

Abstract

On an archive server, a secure storage control layer is interposed in the archive data stream between an archiving application and a storage device driver. The secure storage control layer includes an encryption engine providing for two-level cipher processing of data segments transported by the stream. A secure policy controller is coupled to the secure storage control layer and, responsive to identifying information obtained from the stream, retrieves a group of encryption keys from a secure storage repository to enable the encryption engine to selectively encrypt data segments or a single encryption key conditionally enabling the encryption engine to decrypt select data segments. For both encryption and decryption, the integrity of the stream is maintained allowing operation of the secure storage control layer to be functionally transparent to the archiving application and storage device driver.

Description

- T-
[0001 ] SYSTEM AND METHODS FOR SECURE DIGITAL
DATA ARCHIVING AND ACCESS AUDITING
[0002] Inventors:
Due Phαm
Tien Le Nguyen
[0003] Background of the Invention
[0004] Field of the Invention:
[0005] The present invention is generally related to the digital data archiving systems and, in particular, to a system and methods of enabling the secure archiving and retrieval of digital data subject to access management and. auditing controls.
[0006] Description of the Related Art:
[0007] The desire and need for long term retention of personal and business data creates a complex set of problems that have not been adequately addressed to date. These problems are particularly acute for various business and scientific organizations that accumulate substantial volumes of data on a daily if not continuous basis and further expect to accumulate ever growing volumes going forward. Security concerns, particularly whenever personal data and critical business data are involved, and other factors, including regulatory and insurance requirements, impose significant complexities on the ongoing creation and maintenance of large scale data archives. Archives of comparably modest size are also subject to the same management requirements and thus encounter most if not all the same complexities.
[0008] Even beyond the complexities of organizing and controlling the ordered storage of large volumes of data, essentially arbitrary retrieval must be supported at any point within the lifetime of an archive. Particularly for business records, reliably access to archived data records is required for periods likely exceeding thirty years. Not only does the data need to be fully identifiable and recoverable, but the particular security concerns associated with particular data records, in place at the time of creation, need to be continuously maintained and enforced.
[0009] Given the size and structural diversity of business and scientific organizations, often reaching a global scope even when just considering data retention concerns, there are also fundamental requirements for archiving scalability and throughput performance. Where terabytes and more need to be archived in a matter of hours, organizations will typically implement automated tape library systems supporting the parallel striping of data to large tape drive arrays. Where the speed and capacity requirements outweigh cost issues, library systems utilizing disk drive arrays are commonly used. [0010] Sophisticated, often proprietary backup application program and driver systems are used to manage these libraries. An inherent concern, however, is that if data security and retrieveability are dependent on proprietary hardware or software, then that hardware and software must be maintainable for the full life of the archived data. A known, but conventionally unmet desire is for archived data is to be free of such storage system dependencies, yet without compromise of the data security originally employed by those systems in the creation of data archives.
[001 1] Particularly in certain publishing, data mining, and similar industries, various segments of a data archive must be maintained readily accessible for analysis and other uses during the full lifetime of the archive. These types of data releases are often limited, if not precluded, due to the unavailability of automated mechanisms for auditing, authorizing, and securely controlling individual data release transactions. [0012] Even where an archive access transaction is permitted, a related concern is securely controlling the scope of access permitted and keeping a clear and detailed audit trail of each access. Whenever a secure access key is released in some capacity to a third party, there are limited controls that prevent use of the key to access other data secured by the same key. Conventionally, security keys are periodically rotated to enforce a compartmentalization of the secure data. Key rotation, however, imposes an additional burden on the already complex problem of accurately and securely maintaining password keys for all of the data accumulated in a data archive. Given that many different entities, including owners of different data aspects, regulators, affiliates, licensees of divisible data rights, and various system operators, should have different and detailed access controls applied to their uses, conventional security systems are generally unable to define and maintain separate password keys for such fine grained access, even without achieving the further desire of supporting and enforcing key rotation. [0013] Consequently, there is a fundamental need fora consistent data archiving, security, and auditing system that supports the creation and long term management of fundamentally portable data archives. [0014] Summary of the Invention
[0015] Thus, a general purpose of the present invention is to provide an efficient system and methods of creating and retrieving archive data in a secure, portable, and auditable manner.
[0016] This is achieved in the present invention by providing, on an archive server, a secure storage control layer interposed in the archive data - A - streαm between an archiving application and a storage device driver. The secure storage control layer includes an encryption engine providing for cipher processing of data segments transported by the stream. A seςure policy controller is coupled to the secure storage control layer and, responsive to identifying information obtained from the stream, retrieves a group of encryption keys from a secure storage repository to enable the encryption engine to selectively encrypt data segments or preferably a single encryption key conditionally enabling the encryption engine to decrypt select data segments. For both encryption and decryption, the integrity of the stream is maintained allowing operation of the secure storage control layer to be functionally transparent to the archiving application and storage device driver. [0017] , The two-level encryption is preferably implemented in the present invention in a process that operates on data units, which include a unit metadata header and a data segment, transferred as part of the archive data stream. For each of a" series of archive data units, the process includes selecting a segment encryption key corresponding to a predetermined data unit, first encrypting said data segment of said predetermined data unit with the segment encryption key to produce an encrypted data segment, second encrypting the segment encryption key by each of a set of security control encryption keys and storing the segment encryption key, as encrypted, in a security metadata header, and packaging the unit metadata header, the security metadata header and the encrypted data segment as said replacement data unit in the archive data stream.
[0078] Access to the archive data is securely managed by selectively controlling the retrieval of any of the security control encryption keys that would allow decryption of the segment encryption key. For each of a series of archive data units, the process includes retrieving a security control encryption key from a secure repository, conditionally subject to a security policy that determines the user groups that may retrieve a corresponding security control encryption key, using the security control encryption key to decrypt from a security metadata header the corresponding segment encryption key, decrypting the corresponding encrypted data segment, and packaging the unit metadata header, and the decrypted data segment as a replacement data unit in the archive data stream.-
[0019] An advantage of the present invention is that archived data is reliably secured effectively transparent to the particular implementation of the archiving application and underlying archive driver and devices. Consequently, access, subject to long term maintenance of the archive data, can be assured. In addition, the security controls governing access to the archived data are flexible and allow for access by multiple security policy defined groups.
[0020] Another advantage of the present invention is that implementations of the present invention are readily adaptable to and support high performance, scaleable, data archiving system architectures. The security control driver layer as typically implemented by the present invention is easily installed and maintained in well-established conventional archiving system architectures. Once installed, subject to ordinary policy management maintenance, the operation of the present invention is very nearly if not fully automated.
[0021 ] A further advantage of the present invention is that the system supports and enforces security policy defined key management controls. Multiple security keys can be defined on an essentially per-storage-unit basis, allowing implementation of fine grained, cross-cutting concern security controls over access to the archived data. The policy defined key management controls also enables full key rotation for all keys automatically or by minimal, centralized management of the key policies. [0022] Still another advantage of the present invention is a variety of implementation architectures are supported enabling use in a variety of configurations and controlled uses. The secure key repositories can be flexibly implemented as local and remote software- based modules or on security control appliance. Access to archived data can be constrained to specific authenticated users or to defined user groups provided with a group authentication identifier. In the latter instance, an affiliate reader-only mode of use is supported, allowing a known generic group of users to securely access archive data, even though the specific identities of the users may not be known at the time of archive creation and do not subsequently require user explicit identification in the security policies to allow controlled access. Revocation of a user or group security policy identification effectively terminates all subsequent access to the archive data, thus ensuring continuing security control.
[0023] Yet another advantage of the present invention is that full auditing of archive data access is automatically supported through the required use of the secure key repositories. Each access of the repository to obtain an encryption key is subject to security policy evaluation and, concurrently, attempt and action logging by the repository server. This auditing allows comprehensive examination and management of the archive data use.
[0024] Brief Description of the Drawings
[0025] " Figure 1 is an architectural block diagram of a distributed archiving system implementing a preferred embodiment of the present invention; [0026] Figure 2 is α simplified block diagram illustrating a logical archive data stream incorporating multiple archiving data sessions;
[0027], Figure 3 is a simplified system block diagram of illustrating the interleaving acquisition of archive data streams in accordance with a preferred embodiment of the present invention;
[0028] Figure 4 provides a block diagram illustrating an interleaved archive data stream produced by an archiving application in accordance with a preferred embodiment of the present invention;
[0029] Figure 5 is a block diagram of an interleaved archive data stream as processed in accordance with a preferred embodiment of the present invention to provide for the "selective encryption of archive unit data segments;
[0030] Figures 6A and 6b provide state diagrams illustrating preferred processes of validating and enabling the encryption and decryption of content data segments in accordance with preferred embodiments of the present invention;
[0031] Figure 7 is a block diagram of a archive security controller providing for the processing of an archive session data header in accordance with a preferred embodiment of the present invention;
[0032] Figure 8 is a block diagram of a archive security controller providing for the processing of archive units to produce secure archive units in accordance with a preferred embodiment of the present invention;
[0033] Figure 9 is a simplified process diagram illustrating the preferred procedure for generating secure key groups for use in connection with a preferred embodiment of the present invention;
[0034] Figure 10 is a simplified process diagram illustrating a preferred method of providing for the secure and recoverable encryption of an archive unit data segment in accordance with a preferred embodiment of the present invention;
[0035] Figure 1 1 is a block diagram of a archive security controller providing for the processing of secure archive units to produce clear text archive units in accordance with a preferred embodiment of the present invention;
[0036] Figure 12 is a block diagram of a secure repository server implemented in accordance with a preferred embodiment of the present invention;
[0037] Figure 13 is a system block diagram illustrating a deployment architecture supporting either or both use of local and remote secure key repositories in accordance with a preferred embodiment of the present invention; and
[0038] Figure 14 is a system block diagram illustrating a deployment architecture supporting affiliate or reader-only archive data access systems as implemented in accordance with a preferred embodiment of the present invention.
[0039] Detailed Description of the Invention
[0040] Given the volume of data conventionally required to be archived on a routine if not continuous basis, much of the architectural development of archiving systems has been directed to the development of fast, scaleable, if not inherently large scale archive device libraries and correspondingly complex and frequently proprietary archiving control applications. Tape and disk libraries supporting terabytes of online storage and petabytes of robotically accessible, offline storage are not uncommon. The growth in archived data is generally matched by the increasing need to ensure future accessibility and secure control over those entities allowed to access the data. [0041 ] Conventional archive data system architectures are generally of the form 10 shown in Figure 1 . A host computer system 12, implemented as a single or parallel array of archive servers, supports some combination of tape drive 14 and disk drive 16 media-based libraries. The library hardware system 14, 16 will typically implement a standard interface 18, such as a multi-channel fiber channel controller, and a vendor supplied device driver 20 to enable integration with the host computer system 12. While the hardware system 14, 1 ό and even interface 18 may be proprietary, the device driver 20 is typically configured to emulate, relative to an archiving application 22, a standard or at least well-defined automated archiving systems. Typical emulation targets include the various conventional and widely adopted automated tape libraries from StorageTek®, Quantum®, ADIC®, HP® and other competitive archive system manufacturers.
[0042] A third-party archiving application 22, such as VERITAS
NetBackup™, VERITAS Backup Exec™, Legato NetWorker™, CommVault® Galaxy™, IBM® Tivoli® Storage Manager, Computer Associates BrightStor®, and BakBone® NetVault™, is typically able to interface with one if not several of these de-facto standard tape library device drivers. These archiving applications 22, in various forms, support distributed agent modules 241 -N that enable typically distributed client data systems 2όj_|ψ to be accessed and transfer data for archiving to the host computer system 12. Data to be archived is typically collected and streamed over an internet or intranet network connection to the archive application 22.
[0043] As generally represented in Figure 2, archive data streams are at least logically collected and persisted on archive devices 14, 16 as a series of archive data sets or sessions 40. Each archive session is identified by a session metadata header 42j_N and followed, again at least logically, by the associated archive data content 44-^N. The archive session metadata header 421 -N is typically a proprietary data structure created and defined by the archive application 22 to describe the source of the archived data and the form and nature of the archive data content 44^N collected into the corresponding archive data session 40.
[0044] In accordance with the preferred embodiments of the present invention, referring again to Figure 1 , a secure archive driver 28 is implemented as a control layer interposed between the archive application and the vendor supplied archive device driver 20. Typically, the archive device driver 20 is provided as a kernel resident device driver conformant with the programming interface architecture of the operating system implemented by the host computer system 12. The secure archive driver 28 is preferably also provided as an operating system conformant device driver that presents to the archive application 22 as just another well-known archive device driver. In an alternate preferred embodiment, the secure archive driver 28 may be implemented as a wrapper around the archive device driver 20, effectively hiding and potentially securing the archive device driver 20 from use by the archive application 22 and other applications. For the presently preferred embodiment, the archive device driver 20 and the secure archive driver 28 both appear to the archive application 22 as equally available archive device drivers of well-known type.
[0045] As generally illustrated in Figure 3, the secure archive driver 28 preferably functions as an archive data processing proxy that relies on the archive device driver 20 to actually perform the archive data storage and retrieval operations requested by the archive application 22. That is, the public interface of the secure archive driver 28 represents an emulation interface of a known archive device driver having a relatively comprehensive set of archive device control features. Thus, by conventional administrative configuration of the archive application 22, effectively independent of the specific third-party implementation of the archive application 22, archive data streams 521 N are preferentially directed to and processed through secure archive driver 28. Additionally, all features and functions implemented by the particular third- party vendor implementation of the archive device driver 20, remain accessible in the presence of the secure archive driver 28 by proxy passthrough by way of the emulated archive device driver interface presented by the secure archive driver 28.
[0046] Operation of the secure archive driver 28 is preferably controlled by a policy enforcement manager (PEM) 30. The underlying operation of the secure archive driver 28 is to selectively encrypt and decrypt the archive data stream transferred through the secure archive driver 28.- The PEM 30 preferably operates to observe the transfer of data and qualify the ciphering operation of the secure archive driver 28, including as appropriate obtaining encryption keys from a secure repository server 32 for use by the secure archive driver 28 and to authenticate, directly or indirectly as available, the user or operator 54 of the archiving application 22. In the preferred embodiments of the present invention, the secure policy server 32 is used to store and qualify access to sets of encryption keys. The secure policy server 32 may be implemented on a remote server, as generally shown in Figure l y or included as a largely software- based component of the host computer system 12.
[0047] A clear text archive data stream 60, typically as presented to the secure archive driver 28 initially for processing, is illustrated in Figure 4. At least in logical format order, an archive session metadata header 62 is initially provided by the archive application 22. The archive session metadata header 62 is typically, a proprietary data structure that, in general, identifies the make αnd version of the archive application 22, an archive session creation date, a catalog of archive data sources, whether the clear text data is compressed, whetherthe archive device should perform hardware-based data compression, and any applicable data compression algorithm parameters. Typically, a session or volume number and other bookkeeping metadata sufficient to identify the nature and scope of the archive operation that created the archive data stream 60 is also included in the archive session metadata header 62. As is typical of archive applications 22, each subsequent content block, organized in a stream sequence of archive units 64^N, is logically structured to include an archive unit metadata header 66-| .N and corresponding archive unit content segment 68^N. Each archive unit metadata header 66^N typically includes a linking session or volume identifier and a sequence number, thereby identifying logical participation in a particular archive data stream 60, and metadata descriptive of the file data included archive unit content segment
68I -N-
[0048] In accordance with the present invention, an archive data stream
60 is modified to incorporate a security control identifier and to selectively encrypt the content segments 68^N. For the preferred embodiments of the preset invention, the incorporation of the security control identifier is accomplished by including the identifier in an available session description field conventionally provided by the archive application 22. Typically, a session description field is an otherwise empty text field offered by the archive application 22 to allow an administrator to add a custom text string to describe the type or instance of the archive session. The archive application 22 directly transcribes this text string into an optionally used field within the archive session metadata header 62, or into each of the metadata headers 6O1 ^N, or both. Relative to the" operation of the archive application, the text string is entirely non-functional in that the presence, absence, or content of the string has no affect on the operational function of the archive application 22; the content of the field is thus functionally transparent to the archive application 22. If an ordinary description field is not available, then any other functionally transparent field that occurs in the session metadata header 62, or in the metadata headers 66^^, can be used. Alternately, if the archive application 22 is implemented in contemplation for use with the present invention, a dedicated field may be specifically provided, preferably in the session metadata header 62.
[0049] The security control identifier is preferably created by operation of the PEM 30. In the preferred embodiments, a GUI may be presented to the user 54 to assist in the creation of the identifier. Once created, the security control identifier is inserted into the chosen descriptive field within the session metadata header 62, as is preferred, or metadata headers 60^N, as received by the secure archive driver 28 from the archive application 22. As generally shown in Figure 5, the archive data stream is further processed through the secure archive driver 28 to provide a secured, persistable stream 70. [0050] In the preferred embodiments, the individual archive units 64^N are processed by the secure archive driver 28 dependent on the security control identifier specified for the session that the archive units 64^N belong to and, optionally, the content source of the archive data contained in each of the archive units 641 N. Consequently, the system .10 implemented by the present invention is not only tolerant, but fully supports any interleaving of archive units 641 N belonging to different archive sessions by the archive application 22. Furthermore, the system 10 can potentially vary the security controls applied to the data being archived based on the particular source of the data, as defined in the metadata headers 66^^ typically in terms of a universal resource identifier (URI) or source filesystem. [0051 ] The secure archive driver 28 preferably functions to encrypt and, optionally, compress the data contained in an archive unit 64^N. For example, considering an archive unit ό4-| as representative of the archive units 64^N, a content segment 6S1 is encrypted and replaced in the archive data stream 60 by the combination of an encryption metadata header 71^ and encrypted content segment 74τ . For the preferred embodiments of the present invention, a symmetric encryption key is generated for the archive unitό41 and used to create the encrypted content segment 74τ . This symmetric key is then encrypted using the public encryption key members of a group of public key encryption key pairs. The multiple encrypted copies 7O1 ,A_χ. of the symmetric key for the encrypted content segment 7AΛ are then stored in the encryption metadata header 72V The metadata header 6O1, encryption metadata header 71λ and encrypted content segment 741 then constitute a replacement archive unit 64^ The replacement archive units 64-,_N, including any selectively determined not be processed, such as the archive unit 642, are substituted by the secure archive driver 28 to create the archive data stream 70.
[0052] In the preferred embodiments of the present invention, the archive units 64^N are discretely processed to accommodate the potential interleaving of archive units from different archive sessions in the archive stream and to allow differential encryption control based on source content identifiers or other qualifying information contained in the archive unit metadata headers 66^N. AS generally illustrated in Figure 5, the archive units 641 and 64N are encrypted subject to the same security controls; specifically, subject to the same security control identifier, though potentially with a different symmetric key. The archive units 643 and 644 are encrypted subject to different security controls, either as belonging to a different session having a different security control identifier or referencing α different source content location in either or both of the corresponding metadata headers 6O2^- [0053] The preferred process 80 of resolving a security control identifier for purpose of enabling the processing of the archive units ό4-,_N is generally shown in Figure OA. An authentication token or equivalent data 82 is obtained either from the user or operator 54 or from the security system implemented by the underlying operating system implemented by the host computer system 12. The security control identifier 84 is obtained from the user or operator 54 typically through a GUI presented by the PEM 30. For future reference, the PEM 30 may back populateja configuration file used by the archive application 22 to persist the security control identifier, equivalent to the security control identifier having been simply entered as a descriptive text string using the administrative GUI provided by the archive application 22 itself. In this case, the security control identifier is received by the secure archive driver 28 and passed to the PEM 30.
[0054] In the preferred embodiments of the present invention, the security control identifier is a string list of one or more names of security control groups predefined on the security repository server. For example, a security control identifier may be defined as "corpA-adminOl , corpA- division04," where the secure repository server stores, subject to authenticated access, one group of encryption keys associated with the identifier "corpA- adminOl " and another group of encryption keys associated with the identifier "corpA-division04." Each of these groups may contain one or more encryption keys.
[0055] Fora given archive unit 64^N, then, the authentication token 82, security control identifier 84, and, optionally, a content identifier 86 extracted from the corresponding metadata header 66^N and passed to the PEM 30 are then presented as a request to the secure repository server 32. Provided the αuthenticαtion token 82 is enabled, subject to the authentication rules implemented by the repository 32, the collected encryption keys 88 referenced by the security control identifier 84 are returned. These encryption keys 88 may be non-persistently cached by the PEM 30. On the implied confirmation that encryption is enabled for this given archive unit 64^N, the secure archive driver 28 generates a symmetric key 90. The corresponding content segment 68^N is encrypted with the symmetric key 90 and a corresponding encryption metadata header 6O1 ^N is created. The symmetric key 88 is encrypted with each of the keys contained in the returned group of keys 88, and stored in a slot data structure 76^_^ ,A w. within the corresponding encryption metadata header 66^N.
[0056] The preferred process 100 of resolving a security control identifier for the purpose of reverse processing the archive units 64-|_N is generally shown in Figure OB. In similar manner as above, a secure authentication token 82 is obtained by the PEM 30. A secure control identifier 84 is extracted by the secure archive driver 28 for each session stream transferred though the secure archive driver 28. For each archive unit 64-]_N received, the content identifier is optionally extracted and passed with an identification of the corresponding session to the PEM 30. This request is forwarded with the authentication token 82 to the secure repository server 32. Given the specific identification of the user or operator 54 provided by the authentication token 82, the groups of encryption keys identified by the security control identifier 86 are searched for a match. A response 102 is returned to the secure archive driver 28, selectively including a decryption key depending on whether a secure match was found. In the absence of a decryption key, the corresponding archive unit 641-N is passed through the secure archive driver 28 without modification. [0057] Notably, all attempts to access the content of a secure data session require access requests to be posted to and resolved by the secure repository server 32. Preferably, the secure repository server 32 implements an access request log to collect general and administrative operating information, such as system initialization, shutdown, .and restart, and network connects and disconnects between different client/server components, and backup and restore operation requests of critical security parameters (CSPs), including hosts, policies, and keys. Operational information related to individual and groups of access requests will also be logged, including the request time, the network identification of the system originating the request and the resulting response, and the requested backup and restore archive actions. Each logging event is preferably stored with a timestamp, event type identifier, severity value, subsystem identifier, success value, object (key, policy, host, etc.) accessed as part of the action, and an optional action description. Consequently, the present invention provides a well-defined auditing mechanism for all secured session data accesses, including both succeeded and failed requests.
[0058] Where a decryption key is returned 102, the secure archive driver
28 decrypts a corresponding one of the encrypted symmetric keys 76^_^ ,A_X*. Preferably, the decryption key is applied sequentially to the encrypted symmetric keys 7O1 ^N /A.X> and the decryption verified preferably using an envelope encryption verification or other known-text verification technique. Once verified decryption of a symmetric key is achieved, the symmetric key is used to decrypt the corresponding content segment 68^N. The encryption metadata header 721-N is discarded, and the resulting clear text archive unit 641 N is substituted into the archive data stream.
[0059] A preferred implementation 1 10 of the secure archive driver 28, relative to the processing of session metadata headers, is shown in Figure 7. A control and composition processor 1 12 is preferably implemented as a primary control module within the secure archive driver 28. As archive unit metadata headers 62 are received 1 14 from the input archive data stream 60, the control and composition processor 1 12 identifies the header format from an internal catalog of known archive application 22 session header identifiers. Where an archive unit metadata header 62 is received from the archive application 22, the control and composition processor 1 12 checks for and typically updates the metadata header 62 to contain a valid control identifier. The PEM 30 monitors the operation of the control and composition processor 1 12 to access and provide an appropriate secure identifier from an identifier store 1 16 preferably maintained securely within the PEM 30. The contents of the key store 166 are preferably verified, through operation of the PEM 30, against the contents of the secure repository server 32. The modified archive unit metadata headers 62 are then substituted 1 18 into the outbound archive data stream 70.
[0060] Figure 8 illustrates the preferred implementation 120 of the secure archive driver 28 relative to the processing of archive units 64^N. AS archive units 64^N are received from the archive application 22, the metadata headers 66^N are processed through the control and composition processor 1 12 to extract session and, as appropriate, content identifiers. The control and composition processor 1 12 posts a request for the group keys to and through a key set store 124 maintained preferably as a secure cache store within the PEM 30. The contents of the keyset store 124 are preferably backed, through, the operation of the PEM 30, by the secure repository server 32. On return of one or more key sets, specifically the public members of the applicable group key pairs, a symmetric key is obtained from a random symmetric key generator 126 provided within the secure archive driver 28. The symmetric key is provided to an encryption and compression processor 122. Compression control parameters, including a flag determining whether compression is to be effected is either encoded in the secure control identifier or, preferably, returned from the repository server 32 as control information accompanying the encryption key groups. The control and composition processor 1 12 is responsible for assembling the replacement archive units 64^N and placing them in the outbound archive data stream 70. Where an archive unit 64-|_N is not identified for encryption or compression processing, the control and composition processor 1 12 preferably operates to pass the affected archive unit 64-,. N directly into the outbound archive data stream 70. [0061 ] The reverse processing 130 of archive "units 641 N through a preferred embodiment of the secure archive driver 28 is shown in Figure 9. The archive unit metadata headers 66^N and encryption metadata headers 66^N of the archive data stream 70, as received from an archive device driver 20, are processed by control and composition processor 1 12. Recovery of session identifiers from the archive metadata headers 66-^^ allows the control and composition processor 1 12 to identify the applicable session security control identifiers either typically by reference to the identifiers recorded from the archive unit session headers 62 previously processed through the archive data stream 70. As applicable, content identifiers are also extracted from the archive metadata headers 66-,_N. Requests for content segment applicable decryption keys are posted to the key set store 124 of the PEM 30. Where candidate decryption keys are returned, the control and composition processor 1 12 verifiably decrypts a copy of the symmetric encryption key stored in the corresponding encryption metadata headers 66^N. Recovered symmetric encryption keys are used by the encryption and compression processor 122 to construct clear-text content segments 68^N from encrypted content segments 74^N. Compression parameters are also recovered from the encryption metadata headers 66^N and used, as applicable, to decompress decrypted content segments 74^N. AS before, the control and composition processor 1 12 is responsible for assembling the replacement archive units 64^N and placing them in the outbound archive data stream 60.
[0062] A preferred embodiment 140 of a secure repository server 32 is shown in Figure 10. To enable convenient use in a variety of operational scenarios, the secure repository server 32 is preferably implemented as a secure web services module 142 executable as a daemon process either.on a host computer system 12, another server computer system typically executing a conventional network operating system, generally as indicted in Figure 1 , or similarly on an appliance computer system using an embedded network operating system. Implementation is simplified by standardizing on a daemon process architecture, rather than kernel-based. Similarly, providing access using a standard web services protocol simplifies system administration and network proxy management.
[0063] Upon receipt of a web service request, the secure web services daemon 142 qualifies the request against the authentication token. In the preferred embodiments of the present invention, the authentication token is verified against either a locally accessible smart card 144, or similar security device, or external security server 146 implementing an active directory or LDAP security service. Where the authentication token is verified, the request is considered. To process and secure a new archive session, a local key store 144 is accessed to retrieve the security control identifier determined encryption key groups. To recover a secure archive session, the private key member of the encryption key pair identified by the authentication token is retrieved from the local key store 144. Both the initial request and eventual response by the secure web services daemon 142 is transferred through a secure network connection with the requesting PEM 30. [0064] The preparation of encryption key groups, for use in accordance with the present invention, is preferably performed on a secure archive management computer system that hosts the secure repository server 32 or that can securely connect to the secure repository server 32. An administrative process 150, as shown in Figure 1 1 , is used to collect public key encryption key pairs into administratively defined key groups 156^N. Each of the key groups 1 56^N is assigned a unique text identifier 1 58^N. The criteria for grouping keys is administratively determined, typically on the basis of a commonality of access needs and rights. For example, a management group is typically defined to contain the master keys used by the archiving entity, corporation or business, to ensure historical accessibility. Other key groups are typically defined for the department or business unit that generated the archive data and for an organization or other entity, whether internal or external to the archive data originating department, that is designated as having the right to read, review, or audit the archived data. The resulting discrete key groups 15O1^ are then stored to the local key store of the secure repository server 32, indexed by the corresponding unique text identifiers 158^
[0065] For the preferred embodiments of the present invention, a variety of information can be extracted from the host computer system 12 and archive data streams 60 that can be used to identify and qualify the use of discrete key groups 1 56^N. Information identifying the host computer system 12, the archive application 22, and the content of an archive data stream 60 can be processed by PEM 30, whether obtained directly by the PEM 30 or through the secure archive driver 28, to create an attribute set that is sent as part of a request to the secure repository server 32. Preferably, the attribute set includes the security control identifier, authentication token, the user name or ID of the process owner running the archive application, the IP address and DNS name αssigned to the host computer system 12, the group user id (GUID) and hardware device identifier specified by the archive application 22, and information extracted from fields existing within the archive metadata header 62 and archive unit metadata headers 66^N including descriptive keywords and the filesystem metadata identifying the archived content. The attribute set may also include an archive application identifier, the command line string used to invoke the archive application.
[0066] A preferred process 160 of selectively retrieving encryption key groups 1 56^N for use in the encryption processing of an archive session is illustrated in Figure 12. The secure repository server 32 operates in response to a request to return the encryption key pairs associated with the key groups identified by the concurrently provided security control identifier 84, preferably further qualified by a content identifier 86 and other attribute set data. In response, the secure repository server 32 identifies 162 the corresponding key groups, here shown as including at least key groups 1562 and 156N. In accordance with the present invention, the encryption key groups 156^N may include additional encryption key pairs in any or all of the encryption key groups 156-|.N to support encryption key rotation. That is, for example, a division or other entity may have two or more assigned public encryption key pairs for use in archiving data. The access rights associated with this rotation subgroup are otherwise identical. The secure repository server, based on an administratively defined schedule, sub-selects 164 in rotation one of the available public encryption key pairs as the representative member of the corresponding key group 156^N then actually returned 166 in response to the initial request. Key rotation, in this manner, reduces the security exposure should any one of the encryption keys in a rotation group be compromised. [0067] A secure archiving system constructed in accordance with the present invention can be distributed and operated in a variety of modes relαtive to the location and number of available secure repository servers 32. As generally shown in Figure 13, a PEM 30 of a secure archiving system 170 can connect with and use a local secure repository server 32 co-resident and executed on the same host computer system 12. Consistent with the preferred web services implementation of the secure repository server 32, a secure local network-based connection is supported between the PEM 30 and secure repository server 32.
[0068] Alternately or in addition, remote systems 1 72^N, implemented in any combination of server computer systems and appliances, can support separate secure repository servers 32. These remote systems 1 72^N are preferably accessible' through secure network connections 174. For the preferred embodiments, each of these remote systems 1 72^N can store the same and different sets of key groups 1 56^N, providing generalized redundancy as well as allowing specialization as administratively determined appropriate for the combined network of remote systems 172^N. Preferably, the PEM 30 maintains a persistent list of the remote systems 1 72^N, administratively updateable or automatically updateable from any of the remote systems 172^N potentially whenever a connection is made to any of the remote systems 172^N. This configuration allows the PEM 30 to search a variety of secure repository servers 32 for the necessary information to enable operation.
[0069] Another secure archiving system configuration 180 is shown in
Figure 14. As before, a secure archiving system 182 is deployed with access through a network 1 74 to remote systems 1 72^N hosting secure repository servers 32. In addition, one or more restricted or affiliate secure archive reader systems 1 84^N are provided also with network access to the remote systems 172^N. The affiliate systems 184^N each preferably implements a restricted PEM 186 that differs from . a standard PEM 30. The specific differences are, in the preferred embodiments, optional with the effect of controlling the archive data streams that the restricted PEM 186 allows for processing by the associated secure archive driver 28. The preferred set of restrictions include a restriction againstthe creation of a secure archive stream, thereby enforcing read-only operation. Another restriction is a limitation to using a predefined authentication token in requests to a secure repository server 32, thereby constraining the access to secure archive data to a well- defined set. Implementing this limitation enables an administrator to effectively control or revoke the access privileges of the corresponding affiliate systems 1 84^N by altering the key groups 1 5O1 ^N stored by the secure repository servers 32. Additionally, administrative restrictions on access to the key groups 1 50^N based on the domain address of the affiliate systems 184,, N or unique identifiers assigned to the individual restricted PEMs 186 can be established to selectively restrict operations of the affiliate systems 1 84^N. Removal of the key groups 156^N from the secure repository servers 32 of the accessible remote systems 1721-N will globally revoke all access rights. [0070] Thus, a system and methods for providing for the secure archiving of data has been described. While the present invention has been described particularly with reference to tape and hard disk-based storage media, the present invention is equally applicable to other forms of media and corresponding variety of media control systems.
[0071 ] In view of the above description of the preferred embodiments of the present invention, many modifications and variations of the disclosed embodiments will be readily appreciated by those of skill in the art. It is therefore to be understood that, within the scope of the appended claims, the invention may be practiced otherwise than as specifically described above.

Claims

Clαims
1 . A secure data archiving system comprising: a) a data storage stack provided for execution on a host computer system, wherein said data storage stack includes an archiving application, a data storage device and a storage device driver, wherein said archiving application provides for the controlled transfer of an archive session data stream through said storage device driver with respect to said data storage device, wherein said archive session data stream includes a session header and a plurality of data segments, and wherein said session header includes predetermined data; b) a secure storage control layer interposed between said archiving application and said storage device driver and provides for the transport of said archive session data stream thereinbetween, said secure storage control layer including an encryption engine providing for the selective cipher processing of said plurality of data segments; and c) a secure policy controller coupled to said secure storage control layer and responsive to said predetermined data to identify an encryption key retrievable by said secure policy controller from a secure storage repository, said secure policy controller being operative to provide said encryption key to said encryption engine.
2. The secure data archiving system of Claim 1 wherein said session header has a predetermined structure defined by said archiving application and wherein said predetermined data is included in and persisted with said session header functionally transparent to said archiving application.
3. The secure data archiving system of Claim 2 wherein said secure policy controller decodes said predetermined data to identify said encryption key, said secure policy controller further including means for determining an authorization to use said encryption key.
4. The secure data archiving system of Claim 3 wherein said encryption key enables the selective cipher processing of said data segments.
5. The secure data archiving system of Claim 4 wherein said predetermined data identifies a predetermined group of encryption keys persisted in a secure repository, wherein said predetermined group of encryption keys includes said encryption key, wherein said authorization selectively enables retrieval of said encryption key from said secure repository from among said predetermined group of encryption keys.
6. A method of archiving data subject to multiple secured data access controls, wherein data segments making up an archive session are streamed between an archive application and an archive device, said method comprising the steps of: a) extracting from a predetermined archive session stream an identifier of a predetermined access control group, wherein said predetermined access control group is one of a plurality of identifiable access control groups that each include a predefined set of encryption keys, said identifier being embedded in said predetermined archive session stream functionally transparent with respect to said archive application and said archive device; b) accessing said predetermined access control group to obtain a predetermined encryption key included within said predetermined access control group; and c) applying said predetermined encryption key to an encryption engine provided between said archive application and said archive device; and d) processing said predetermined archive session stream through said encryption engine.
7. The method of Claim 6 wherein said step of accessing includes the step of evaluating said predefined set of encryption keys included in said predetermined access control group to securely validate selection of said predetermined encryption key.
8. The method of Claim 7 wherein said step of processing includes, with respect to a predetermined encrypted data segment of said predetermined archive session stream, a first step of decrypting, using said predetermined encryption key, a segment encryption key from said encrypted data segment, and a second step of decrypting, using said segment encryption key, segment data from said encrypted data segment.
9. The method of Claim 7 wherein said step of processing includes, with respect to a predetermined clear-text data segment of said predetermined archive session stream, the steps of: a) encrypting, using a predetermined segment encryption key, said predetermined clear-text data segment to produce a predetermined encrypted data segment; and 7 b) associating said predetermined segment encryption key,
8 encrypted using said predetermined encryption key, with said predetermined
9 encrypted data segment in said predetermined archive session stream.
1 10. A secure data archiving system implemented through the execution of
2 system components on a secure storage server computer coupled to persistent
3 storage media, said secure data archiving system comprising:
4 a) an archiving application that controls an archive session
5 wherein an archive data stream is transferred between an archive device and
6 said archiving application, said archiving application providing for the
7 persistent storage of session ancillary data as part of said archive session;
8 b) a data security driver interposed between said archiving
9 application and said archive device with respect to said archive data stream,
10 said data security driver including a data processor that provides for the
11 recovery of said session ancillary data from said archive data stream and
12 selective cipher processing of data segments transferred within said archive
13 data stream; and
14 c) a policy management controller coupled to said data security
15 driver to receive said session ancillary data and responsively provide, l ό selectively dependent on predetermined policy management controls, a session 17 encryption key to said data security driver.
1 1 1 . The secure data archiving system of Claim 10 wherein said session
2 ancillary data is non-functional data with respect to said archiving application
3 and wherein said ancillary data is processed by said policy management
4 controller to functionally identify a policy group of encryption keys applicable
5 to a predetermined data segment transferred. within said archive data stream.
1 2. The secure data archiving system of Claim 1 1 further comprising a secure repository providing for the persistent storage of a plurality of policy groups of encryption keys, wherein each of said plurality of policy groups is uniquely identifiable by said policy management controller in response to the processing of said ancillary data.
13. The secure data archiving system of Claim 12 wherein said policy management controller is operative to obtain an authenticated identifier and, responsive to said authenticated identifier, further operative to select a predetermined encryption key from said policy group of encryption keys as said session encryption key and provide said session encryption key to said data security driver, wherein said data security driver is operative with respect to said session encryption key to enable selective cipher processing of said predetermined data segment.
14. The secure data archiving system of Claim 13 wherein said data security driver is operative to decrypt a segment encryption key from said predetermined data segment by application of said session encryption key to said predetermined data segment.
15. The secure data archiving system of Claim 13 wherein said data security driver is operative to encrypt said predetermined data segment using a segment encryption key, said data security driver being further operative to encrypt, using said predetermined session encryption key, and attach said segment encryption key to said predetermined data segment, as encrypted.
16. A secure data archiving system comprising: α) α server computer system including an archiving application operative to transfer an archive data stream with respect to an archive data storage device, said archive data stream including a series of archive data units wherein each said archive data unit includes a first metadata unit and a data segment; b) a security driver interposed between said archiving application and said archive data storage device, said security driver including an encryption controller provided to selectively process said archive data stream, wherein for a selected archive data unit, said encryption controller is operative to replace said data segment of said selected archive data unit with a second metadata unit and an encrypted data segment produced by encryption of said data segment of said selected archive data unit using a predetermined encryption key, said encryption controller being further operative to encode said predetermined encryption key into said second metadata unit.
17. The secure data archiving system of Claim 16 wherein said encryption controller is further operative to multiply encode said predetermined encryption key into said second metadata unit.
18. The secure data archiving system of Claim 1 7 further comprising a policy controller, wherein said encryption controller is coupled to said policy controller to receive a set of encryption keys, and wherein said encryption controller is operative to encode said predetermined encryption key into said second metadata unit using respective ones of said set of encryption keys.
19. The secure data archiving system of Claim 18 wherein said policy controller is coupleable to a secure repository that enables the retrieval of said set of encryption keys.
20. The secure data archiving system of Claim 19 wherein said encryption controller is operative to extract predetermined policy information from said archive data stream, wherein said policy controller is responsive to said predetermined policy information to determine the selection of said set of encryption keys from said secure repository.
21. A method of securing archive data as transferred through a computer system, said method comprising the steps of: a) intercepting an archive data stream in transit between an archiving application and an archive device, said archive data stream including a series of data units, wherein each said data unit includes a unit metadata header and a data segment; b) processing said series of data units wherein, for a predetermined data unit, said processing step substitutes a replacement data unit for said predetermined data unit in said archive data stream, said processing step including the steps of: i) selecting a segment encryption key corresponding to said predetermined data unit; ii) first encrypting said data segment of said predetermined data unit with said segment encryption key to produce an encrypted data segment; iii) second encrypting said segment encryption key by each of a set of security control encryption keys and storing said segment encryption key, as encrypted, in a security metadata header; and iv) packaging said unit metadata header, said security metadata header and said encrypted data segment as said replacement data unit.
22. The method of Claim 21 wherein said step of processing further includes the step of selectively generating said segment encryption key and wherein each said set of security control encryption keys is a member of an asymmetric encryption key pair.
23. The method of Claim 22 further comprising the steps of: a) obtaining from said archive data stream a set of encryption group identifiers; and b) retrieving, based on said set of encryption group identifiers, said set of security control encryption keys.
24. The method of Claim 23 wherein said step of retrieving provides for the retrieval of said set of security control encryption keys from a secure repository.
25. A secure data archiving system comprising: a) a server computer system including a data archive device, an archive driver coupled to said data archive device, and a data archiving application program executed by said server computer system to provide for the transfer of a data stream between said data archiving application and said data archive device through said archive driver, wherein said data stream includes an archive data session having a archive session header and a series of archive units wherein each archive unit includes a metadata header and a payload data segment; and 0 b) an archive data security layer coupled between said archive 1 driver and said archiving application program, wherein said archive data 2 security layer includes an encryption controller operative to selectively encrypt 3 said payload data segments of said archive data session within said data 4 stream, said encryption controller being further operative to securely encode 5 a predetermined encryption key used to encrypt said payload data segments 6 into an encryption header included in said archive data session within said 7 data stream.
1 26. The secure data archiving system of Claim 25 further comprising a 2 policy enforcement module coupled to said archive data security layer, said
3 policy enforcement module being coupleable to a secure data repository,
4 wherein said policy enforcement module is responsive to predetermined
5 session control data encoded in said archive session header functionally
6 transparent to said data archiving application to determine the selection of a
7 group policy set of encryption keys from said secure data repository, wherein
8 said encryption controller is operative to respectively encode said
9 predetermined encryption key into said encryption header using the member 0 encryption keys of said group policy set.
1 27. A secure data archiving system comprising:
2 a) a server computer system including a data archive device, an
3 archive driver coupled to said data archive device, . and a data archiving
4 application program executed by said server computer system to provide for
5 the transfer of a data stream between said data archiving application and said ό data archive device through said archive driver, wherein said data stream 7 includes an archive data session having a archive session header and a series 8 of archive units wherein each archive unit includes a metadata header and a
9 payload data segment; and
10 b) an archive data security layer coupled between said archive 1 driver and said archiving application program, wherein said archive data
12 security layer includes an encryption controller operative to read an encryption
13 header included in said archive data session within said data stream to decode
14 a predetermined encryption key from said encryption header, said encryption
15 controller being further operative to selectively decrypt said payload data
16 segments of said archive data session within said data stream using said
17 predetermined encryption key.
' 1
28. The secure data archiving system of Claim 27 further comprising a
2 policy enforcement module coupled to said archive data security layer, said
3 policy enforcement module being coupleable to a secure data repository,
4 wherein said policy enforcement module is responsive to predetermined
5 session control data encoded in said archive session header functionally
6 transparent to said data archiving application to determine the selection of a
7 group policy set of encryption keys from said secure data repository, wherein
8 said encryption controller is operative to verifiably decode said predetermined
9 encryption key from said encryption header using one of the member 10 encryption keys of said group policy set.
1 29. A system for selectively controlling access to a data archive, said system
2 comprising:
3 a) an archive, hosted by a media server computer system,
4 providing for the persistent storage of data organized logically as archive
5 sessions, wherein a predetermined archive session contains session metadata, ό a first plurality of archive metadata segments and a second plurality of archive data segments, wherein said archive data segments are encrypted and wherein, for a given archive data segment, a data segment encryption key is encoded in a given archive metadata segment having a defined correspondence to said given archive data segment; b) a secure repository server storing sets of encryption keys, said secure repository server being responsive to a policy identifier for the selection of a corresponding one of said sets of encryption keys; and c) an archive data reader, hosted by a client computer system, coupleable to said media server computer system for access to said predetermined archive session, said archive data reader being operative to present an authentication token and said policy identifier, as obtained from said session metadata, to said secure repository server to access said corresponding one of said sets of encryption keys, said archive data reader being operative, given said corresponding one of said sets of encryption keys, to decode said data segment encryption key from said given archive metadata segment and decrypt said given archive data segment.
30. The system of Claim 29 wherein said archive data reader includes a policy controller operative to retrieve, based on said authentication token and said policy identifier, a predetermined encryption key from said corresponding one of said sets of encryption keys, said policy controller being further operative to transiently maintain said predetermined encryption key subject to predetermined use controls.
31 . The system of Claim 30 wherein said policy controller transiently maintains said predetermined encryption key for the duration of an archive data read session.
32. The system of Claim 30 wherein said policy controller transiently maintains said predetermined encryption key for a predetermined period of time.
33. The system of Claim 30 wherein said policy controller transiently maintains said predetermined encryption key for the duration of a predetermined number of archive data read sessions.
34. The system of Claim 30 wherein said secure repository server is one of a plurality of secure repository servers that can equivalently perform as said secure repository server.
35. The system of Claim 34 wherein said plurality of secure repository servers are coupleable to said archive data reader through a communications network.
36. The system of Claim 35 wherein said archive data reader is one of a plurality of archive data readers that can equivalently perform as said archive data reader and wherein said plurality of archive data readers are coupleable to said media server system through said communications network.
37. A method of securely controlling the reading of archive data from an archive data media server by users of archive data reader computer systems, said method comprising the steps of: a) defining identification tokens for use by subgroups of a plurality of archive data reader users; b) enabling the transfer of an archive data stream representing an archive data session from an archive data media server to a requesting archive data reader computer system; c} retrieving an encryption key from a secure repository server dependent on presentation of a defined identification token and a group identifier obtained from said archive data stream; d) first decrypting, using said encryption key, a session encryption key from said archive data stream; and e) second decrypting, using said session encryption key, data from said archive data stream, wherein said step of first decrypting is conditional dependent on a security policy under which said archive data session was created.
38. The method of Claim 37 wherein said group identifier selects a predefined group of encryption keys stored by said secure repository server, the specific encryption keys included in said predefined group being determined by said security policy, said method further comprising the step of determining if said encryption key is present in said predefined group of encryption keys, whereby said step of first decrypting is selectively blocked based on said security policy.
39. The method of Claim 38 further comprising the step of recording, by said secure repository server, predetermined identifying information presented to said secure repository server in connection with said step of retrieving, whereby accesses of said archive data session are reliably auditable.
PCT/US2007/001640 2006-01-18 2007-01-18 System and methods for secure digital data archiving and access auditing WO2007084758A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008551455A JP2009524153A (en) 2006-01-18 2007-01-18 Secure digital data archiving and access audit system and method
EP07716888A EP1974299A4 (en) 2006-01-18 2007-01-18 System and methods for secure digital data archiving and access auditing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/334,710 US20070174362A1 (en) 2006-01-18 2006-01-18 System and methods for secure digital data archiving and access auditing
US11/334,710 2006-01-18

Publications (2)

Publication Number Publication Date
WO2007084758A2 true WO2007084758A2 (en) 2007-07-26
WO2007084758A3 WO2007084758A3 (en) 2008-04-24

Family

ID=38286818

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/001640 WO2007084758A2 (en) 2006-01-18 2007-01-18 System and methods for secure digital data archiving and access auditing

Country Status (4)

Country Link
US (1) US20070174362A1 (en)
EP (1) EP1974299A4 (en)
JP (1) JP2009524153A (en)
WO (1) WO2007084758A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008028824A1 (en) * 2006-09-07 2008-03-13 International Business Machines Corporation Apparatus and method supporting interoperability of an encrypting storage device with encryption-unaware application programs by means of a device driver communication to a key manager
US9940463B2 (en) 2009-12-04 2018-04-10 Cryptography Research, Inc. System and method for secure authentication

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665876B2 (en) * 2003-10-23 2017-05-30 Monvini Limited System of publication and distribution of instructional materials and method therefor
US7492704B2 (en) * 2005-09-15 2009-02-17 International Business Machines Corporation Protocol definition for software bridge failover
WO2007138602A2 (en) 2006-05-31 2007-12-06 Storwize Ltd. Method and system for transformation of logical data objects for storage
US8769311B2 (en) 2006-05-31 2014-07-01 International Business Machines Corporation Systems and methods for transformation of logical data objects for storage
US8495380B2 (en) * 2006-06-06 2013-07-23 Red Hat, Inc. Methods and systems for server-side key generation
HUE030535T2 (en) 2006-06-27 2017-05-29 Waterfall Security Solutions Ltd Unidirectional secure links from and to a security engine
US8397083B1 (en) * 2006-08-23 2013-03-12 Netapp, Inc. System and method for efficiently deleting a file from secure storage served by a storage system
US7797746B2 (en) 2006-12-12 2010-09-14 Fortinet, Inc. Detection of undesired computer files in archives
IL180748A (en) * 2007-01-16 2013-03-24 Waterfall Security Solutions Ltd Secure archive
US20080219449A1 (en) * 2007-03-09 2008-09-11 Ball Matthew V Cryptographic key management for stored data
US8484464B2 (en) * 2007-06-15 2013-07-09 Research In Motion Limited Method and devices for providing secure data backup from a mobile communication device to an external computing device
JP4396737B2 (en) * 2007-07-17 2010-01-13 ソニー株式会社 Information processing apparatus, content providing system, information processing method, and computer program
US8060709B1 (en) 2007-09-28 2011-11-15 Emc Corporation Control of storage volumes in file archiving
US8918603B1 (en) 2007-09-28 2014-12-23 Emc Corporation Storage of file archiving metadata
US8326805B1 (en) * 2007-09-28 2012-12-04 Emc Corporation High-availability file archiving
US8005227B1 (en) * 2007-12-27 2011-08-23 Emc Corporation Key information consistency checking in encrypting data storage system
US8300823B2 (en) * 2008-01-28 2012-10-30 Netapp, Inc. Encryption and compression of data for storage
DE102008019103A1 (en) * 2008-04-16 2009-10-22 Siemens Aktiengesellschaft Method and device for transcoding in an encryption-based access control to a database
US8560785B1 (en) * 2008-06-02 2013-10-15 Symantec Corporation Techniques for providing multiple levels of security for a backup medium
US20100250955A1 (en) * 2008-10-22 2010-09-30 Paul Trevithick Brokered information sharing system
KR101547554B1 (en) * 2008-11-27 2015-08-26 삼성전자주식회사 System and method for providing to digital contents service
DE102009054128A1 (en) 2009-11-20 2011-05-26 Bayerische Motoren Werke Aktiengesellschaft Method and device for accessing files of a secure file server
US9002801B2 (en) * 2010-03-29 2015-04-07 Software Ag Systems and/or methods for distributed data archiving amongst a plurality of networked computing devices
US8880905B2 (en) * 2010-10-27 2014-11-04 Apple Inc. Methods for processing private metadata
US9430330B1 (en) * 2010-12-29 2016-08-30 Netapp, Inc. System and method for managing environment metadata during data backups to a storage system
US8510335B2 (en) * 2011-02-14 2013-08-13 Protegrity Corporation Database and method for controlling access to a database
US9563681B1 (en) 2012-08-08 2017-02-07 Amazon Technologies, Inc. Archival data flow management
US9213709B2 (en) * 2012-08-08 2015-12-15 Amazon Technologies, Inc. Archival data identification
US9767098B2 (en) 2012-08-08 2017-09-19 Amazon Technologies, Inc. Archival data storage system
US9251097B1 (en) 2011-03-22 2016-02-02 Amazon Technologies, Inc. Redundant key management
WO2012166102A1 (en) * 2011-05-27 2012-12-06 Empire Technology Development Llc Seamless application backup and recovery using metadata
US9208343B2 (en) * 2011-08-18 2015-12-08 Hewlett-Packard Development Company, L.P. Transitive closure security
US9652487B1 (en) 2012-08-08 2017-05-16 Amazon Technologies, Inc. Programmable checksum calculations on data storage devices
US9250811B1 (en) 2012-08-08 2016-02-02 Amazon Technologies, Inc. Data write caching for sequentially written media
US9092441B1 (en) * 2012-08-08 2015-07-28 Amazon Technologies, Inc. Archival data organization and management
US9830111B1 (en) 2012-08-08 2017-11-28 Amazon Technologies, Inc. Data storage space management
US8805793B2 (en) 2012-08-08 2014-08-12 Amazon Technologies, Inc. Data storage integrity validation
US8959067B1 (en) 2012-08-08 2015-02-17 Amazon Technologies, Inc. Data storage inventory indexing
US9225675B2 (en) 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
US9779035B1 (en) 2012-08-08 2017-10-03 Amazon Technologies, Inc. Log-based data storage on sequentially written media
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US9354683B2 (en) 2012-08-08 2016-05-31 Amazon Technologies, Inc. Data storage power management
US9635037B2 (en) 2012-09-06 2017-04-25 Waterfall Security Solutions Ltd. Remote control of secure installations
US9602542B2 (en) * 2012-10-15 2017-03-21 Nec Corporation Security-function-design support device, security-function-design support method, and program storage medium
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
US9419975B2 (en) 2013-04-22 2016-08-16 Waterfall Security Solutions Ltd. Bi-directional communication over a one-way link
US10212215B2 (en) * 2014-02-11 2019-02-19 Samsung Electronics Co., Ltd. Apparatus and method for providing metadata with network traffic
US10394756B2 (en) * 2014-03-28 2019-08-27 Vayavya Labs Private. Limited System and method for customizing archive of a device driver generator tool for a user
US20170255935A1 (en) * 2014-10-10 2017-09-07 Sequitur Labs, Inc. Policy-Based Control of Online Financial Transactions
IL235175A (en) 2014-10-19 2017-08-31 Frenkel Lior Secure remote desktop
US10560440B2 (en) 2015-03-12 2020-02-11 Fornetix Llc Server-client PKI for applied key management system and process
US10630686B2 (en) 2015-03-12 2020-04-21 Fornetix Llc Systems and methods for organizing devices in a policy hierarchy
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
US10409780B1 (en) 2015-10-30 2019-09-10 Intuit, Inc. Making a copy of a profile store while processing live updates
WO2017074460A1 (en) * 2015-10-30 2017-05-04 Intuit Inc. Selective encryption of profile fields for multiple consumers
US10230701B2 (en) 2015-10-30 2019-03-12 Intuit Inc. Selective encryption of profile fields for multiple consumers
IL250010B (en) 2016-02-14 2020-04-30 Waterfall Security Solutions Ltd Secure connection with protected facilities
US10860086B2 (en) * 2016-02-26 2020-12-08 Fornetix Llc Policy-enabled encryption keys having complex logical operations
US10880281B2 (en) 2016-02-26 2020-12-29 Fornetix Llc Structure of policies for evaluating key attributes of encryption keys
EP3346414A1 (en) * 2017-01-10 2018-07-11 BMI System Data filing method and system
KR102451524B1 (en) * 2018-01-31 2022-10-06 케이블텔레비젼래버러토리즈,인코포레이티드 Systems and Methods for Privacy Management Using Digital Ledger
US11176269B2 (en) * 2019-03-08 2021-11-16 International Business Machines Corporation Access control of specific encrypted data segment
WO2021136963A1 (en) * 2019-12-31 2021-07-08 Nagravision S.A. Techniques for controlling access to segmented data
CN111641808B (en) * 2020-05-14 2021-09-07 昇辉控股有限公司 Perimeter protection system and method
WO2022046177A1 (en) * 2020-08-28 2022-03-03 Arris Enterprises Llc Packaging system for deploying computer software

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247575A (en) * 1988-08-16 1993-09-21 Sprague Peter J Information distribution system
US5150473A (en) * 1990-01-16 1992-09-22 Dantz Development Corporation Data storage format for addressable or sequential memory media
DE69118250T2 (en) * 1990-01-19 1996-10-17 Hewlett Packard Ltd ACCESS FOR COMPRESSED DATA
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US7133845B1 (en) * 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US5737153A (en) * 1996-01-19 1998-04-07 Gavit; Stephen E. Positioning assembly for recording heads in electronic recording devices
JPH10289537A (en) * 1997-04-11 1998-10-27 Sony Corp Digital data recording method and digital data recording medium
ATE347200T1 (en) * 1997-07-24 2006-12-15 Tumbleweed Comm Corp ELECTRONIC MAIL FIREWALL WITH ENCRYPTION/DECRYPTION USING STORED KEYS
US6078478A (en) * 1997-09-11 2000-06-20 Gavit; Stephan E. Read/write recording device and head positioning mechanism therefor
US6957330B1 (en) * 1999-03-01 2005-10-18 Storage Technology Corporation Method and system for secure information handling
US6941459B1 (en) * 1999-10-21 2005-09-06 International Business Machines Corporation Selective data encryption using style sheet processing for decryption by a key recovery agent
US6553141B1 (en) * 2000-01-21 2003-04-22 Stentor, Inc. Methods and apparatus for compression of transform data
US6654851B1 (en) * 2000-03-14 2003-11-25 International Business Machine Corporation System, apparatus, and method for using a disk drive for sequential data access
US6983365B1 (en) * 2000-05-05 2006-01-03 Microsoft Corporation Encryption systems and methods for identifying and coalescing identical objects encrypted with different keys
US6963980B1 (en) * 2000-11-16 2005-11-08 Protegrity Corporation Combined hardware and software based encryption of databases
US6718410B2 (en) * 2001-01-18 2004-04-06 Hewlett-Packard Development Company, L.C. System for transferring data in a CD image format size of a host computer and storing the data to a tape medium in a format compatible with streaming
EP2503486A3 (en) * 2001-12-12 2012-11-21 Guardian Data Storage, LLC Managing file access via a designated storage area
US6931530B2 (en) * 2002-07-22 2005-08-16 Vormetric, Inc. Secure network file access controller implementing access control and auditing
US20040022390A1 (en) * 2002-08-02 2004-02-05 Mcdonald Jeremy D. System and method for data protection and secure sharing of information over a computer network
US7191241B2 (en) * 2002-09-27 2007-03-13 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
EP2267625A3 (en) * 2004-04-19 2015-08-05 Lumension Security S.A. On-line centralized and local authorization of executable files

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of EP1974299A4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008028824A1 (en) * 2006-09-07 2008-03-13 International Business Machines Corporation Apparatus and method supporting interoperability of an encrypting storage device with encryption-unaware application programs by means of a device driver communication to a key manager
US7882354B2 (en) 2006-09-07 2011-02-01 International Business Machines Corporation Use of device driver to function as a proxy between an encryption capable tape drive and a key manager
US9940463B2 (en) 2009-12-04 2018-04-10 Cryptography Research, Inc. System and method for secure authentication
US10262141B2 (en) 2009-12-04 2019-04-16 Cryptography Research, Inc. Secure processor with resistance to external monitoring attacks
US11074349B2 (en) 2009-12-04 2021-07-27 Cryptography Research, Inc. Apparatus with anticounterfeiting measures
US11797683B2 (en) 2009-12-04 2023-10-24 Cryptography Research, Inc. Security chip with resistance to external monitoring attacks

Also Published As

Publication number Publication date
EP1974299A2 (en) 2008-10-01
WO2007084758A3 (en) 2008-04-24
EP1974299A4 (en) 2011-11-23
JP2009524153A (en) 2009-06-25
US20070174362A1 (en) 2007-07-26

Similar Documents

Publication Publication Date Title
US20070174362A1 (en) System and methods for secure digital data archiving and access auditing
US10445517B1 (en) Protecting data in insecure cloud storage
US10762229B2 (en) Secure searchable and shareable remote storage system and method
US9424432B2 (en) Systems and methods for secure and persistent retention of sensitive information
JP5210376B2 (en) Data confidentiality preservation method in fixed content distributed data storage system
US8099605B1 (en) Intelligent storage device for backup system
JP6224102B2 (en) Archive data identification
EP2755161B1 (en) Secure online distributed data storage services
AU2016203740B2 (en) Simultaneous state-based cryptographic splitting in a secure storage appliance
US10452857B2 (en) Systems and methods for providing file level security
US20090092252A1 (en) Method and System for Identifying and Managing Keys
CN112889054B (en) System and method for database encryption in a multi-tenant database management system
US11636217B2 (en) Systems and methods for breach-proof, resilient, compliant data in a multi-vendor cloud environment and automatically self heals in the event of a ransomware attack
JP2006526851A (en) Data object management in dynamic, distributed and collaborative environments
US20150280915A1 (en) Binary data store
US7603553B1 (en) System and method to make file handles opaque to clients
US8538027B2 (en) Storage of keyID in customer data area
US8874907B1 (en) Controlling access to an NFS share
US7814552B2 (en) Method and apparatus for an encryption system
US20220261381A1 (en) Configurable Stacking/Stackable Filesystem (CSF)
Rokade et al. SDDMCSS: Secure and Data De-duplicated Multi-Cloud Storage System
Choudhari et al. Security and Privacy of AWS S3

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2008551455

Country of ref document: JP

Ref document number: 2007716888

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 4316/CHENP/2008

Country of ref document: IN