Systems and methods for a secure recording environment

Systems and methods are disclosed for providing electronic keys that are used to encrypt and decrypt secure, captured data in a customer center. In one embodiment, the method comprises the steps of: establishing a secure communication over a network between the key management system and a retrieval component; transmitting a duplicate copy of at least one electronic key to a cache that is electrically coupled to the retrieval component; receiving a request to retrieve the electronic keys; and transmitting the retrieved electronic keys for decrypting the stored data.

TECHNICAL FIELD

The present disclosure is generally related to methods and systems that provide secure, captured data in a customer center.

BACKGROUND

Security is fast becoming a primary concern as private information is communicated during interactions between a customer and a business, particularly at a customer center. Some interactions are captured and stored in a recording system for evaluation of an agent and visualization of performance of the customer center, for example. Some captured interactions have private information such as credit card information, social security number, and date of birth. Clearly, this type of information could be subject to identity theft and unlawful access.

SUMMARY

Systems and methods are disclosed for providing secure, captured data in a customer center. In one embodiment, the method comprises: capturing data with a recording system; receiving a request to retrieve electronic keys for encrypting the data; responsive to receiving the request, transmitting the electronic keys to the recording system; encrypting the data using the electronic keys; associating the electronic keys with the encrypted data; and storing the encrypted data in the recording system.

Systems and methods are disclosed for retrieving and playing back a secure, captured data in a customer center. In another embodiment, the method comprises: transmitting a request by a retrieval component to retrieve stored, encrypted data from a recording subsystem; establishing a secure communication between the retrieval component and the recording subsystem to retrieve the stored, encrypted data; receiving the stored, encrypted data by the retrieval component; transmitting a request to retrieve electronic keys for decrypting the stored, encrypted data; receiving the electronic keys by the retrieval component; decrypting the stored, encrypted data using the electronic keys; and playing back the decrypted data.

Systems and methods are disclosed for providing electronic keys that are used to encrypt and decrypt secure, captured data in a customer center. In one embodiment, the method comprises the steps of: establishing a secure communication over a network between the key management system and a retrieval component; transmitting a duplicate copy of at least one electronic key to a cache that is electrically coupled to the retrieval component; receiving a request to retrieve the electronic keys; and transmitting the retrieved electronic keys for decrypting the stored data.

DETAILED DESCRIPTION

Disclosed herein are systems and methods for providing secure, captured data in a customer center. Customer center includes, but is not limited to, outsourced contact centers, outsourced customer relationship management, customer relationship management, voice of the customer, customer interaction, contact center, multi-media contact center, remote office, distributed enterprise, work-at-home agents, remote agents, branch office, back office, performance optimization, workforce optimization, hosted contact centers, and speech analytics, for example. In particular, embodiments of such a system incorporate a key management system, which can be located at the customer center, that provides secure, captured data during collection, recording and transmission of the captured data. The key management system provides electronic keys for encrypting and decrypting data. By encrypting the data, even if a hacker breaks through all other protection mechanisms (e.g., firewalls) and gains access to encrypted data, the hacker is prevented from being able to read the data without further breaking the encryption.

FIG. 1is a schematic diagram of an embodiment of an encrypted recording environment100using a centralized key management system in a company premises. Communication device105is coupled to a telephone network106, which is coupled to a gateway107. The gateway107is coupled to a company premises112, particularly to a switch108. The switch108can be a voice over Internet Protocol (VoIP) switch and includes a switch management system109that encrypts data from an interaction between, for example, users of communication device105and communication device117or users of the communication devices117. The switch management system109associates electronic keys with the encrypted data. The switch management system109transmits the encrypted data to an IP/data network110. Additionally or alternatively, the switch108can be a time-division multiplexing (TDM) switch, which transmits unencrypted data associated with the interaction.

The communication devices105,117can include, but not limited to, an Internet Protocol (IP) soft phone, a TDM phone, and a computing device. The communication device117can communicate with the communication devices105or other communication devices117via the IP/data network110and switch108. If the communication devices are IP soft phones or computing devices, the communication devices105,117can decrypt incoming data from the switch108and transmits outgoing data to the switch108.

Additionally or alternatively, the communication device117can encrypt its outgoing data and transmit the outgoing data to the switch108. The switch108decrypts the outgoing data for the communication device105. The encryption of the data at the switch108and the communication device117provides security to the data of the interactions between users of the communication devices105,117or users of the communication device117in the company premises112.

The switch108and/or the communication device117transmit encrypted or unencrypted data to one or more recording systems120. The data is related to, but is not limited to, TDM, conferencing, duplicative, and passive, for example. Each recording system120includes a centralized key management system115, one or more recording subsystems, and one or more playback components, all of which are coupled to a network133. The recording subsystem135includes, but is not limited to, an active-recording buffer, an online-network storage, and an archival system, for example. The recording subsystem135receives captured data from the switch108and/or the communication device117. The recording subsystem135further receives metadata that includes information related to the interaction, such as agent identification and call time, for example. In general, the metadata is transmitted with the data to the recording subsystem135. In this regard, “data” includes metadata of an interaction along with the captured audio, video, screen capture, and text messaging signals.

If the data are encrypted, the recording subsystem135decrypts the data from the switch108and/or the communication device117using electronic keys from the switch108and/or the communication device117, respectively. Either the recording subsystem135decrypts the data or receives unencrypted data, the recording subsystem135then transmits a request to the centralized key management system115for an electronic key to encrypt the data. The recording subsystem135generates a unique identifier, which can be calculated based on a checksum or hash value of the data, for example. The recording subsystem135associates the unique identifier with the captured data. The request can include, but not limited to, unique identifiers associated with the captured data and authentication information.

Unique identifiers are codes used to identify the captured data that are unique within a given context. There are three ways, among others, of generating unique identifiers: 1) serial numbers, allocated in sequence, 2) random numbers selected from a number space much larger than the expected number of objects to be identified, and 3) meaningful names or codes allocated by choice which are forced to be unique by keeping a central registry. All of the above methods can be combined hierarchically, singly or in combination with one another, to create scalable schemes for creating unique identifiers. In many cases, the captured data may have more than one unique identifier, each of which identifies it for a different purpose.

Hash value is computed from a base input number using a hashing algorithm. Essentially, the hash value is a summary of the original value. The hash value is nearly impossible to derive the original input number without knowing the data used to create the hash value.

The centralized key management system115receives the request from the recording subsystem135and determines whether the recording subsystem135has authentication via an authentication system128to retrieve electronic keys. The centralized key management system115generates electronic keys for decrypting and encrypting data. The electronic keys can be used as active keys, inactive keys, and random, semi-random, and sequential rotations of keys. The centralized key management system115can generate key identification associated with the generated electronic keys based on a checksum or hash value of the data.

Responsive to the recording subsystem135having authentication, the centralized key management system115selects an electronic key for encrypting the captured data. The centralized key management system115generates a key identification for each electronic key and associates the key identification with the electronic key. Additionally or alternatively, the centralized key management system115associates the electronic keys with the unique identifier. The generated keys are maintained until the associated data are removed from the encrypted recording environment100. The unique identifier can be used to obtain the electronic key from the centralized key management system115. The structure of the electronic key is described in relation toFIG. 3.

The centralized key management system115transmits the electronic keys to the recording subsystem135. The recording subsystem135receives the electronic keys and encrypts the captured data using the electronic keys. Alternatively or additionally, the recording subsystem135can associate the key identification with the encrypted data. The key identification can be used to obtain the electronic key from the centralized key management system115. The encrypted data are stored in the recording subsystem135. Additionally or alternatively, the recording subsystem includes135a database of metadata and key identifications. The recording subsystem135uses the metadata to retrieve the stored, encrypted data. The metadata is associated with the key identifications, which the recording subsystem135uses to retrieve the electronic keys from the centralized key management system115. The structures of the encrypted data and metadata are described in relation toFIG. 4.

Additionally or alternatively, the centralized key management system115can transmit the electronic keys maintained in the centralized key management system115to a cache134located in the recording subsystem135. The cache134is a secure non-volatile component. The cache134can store active keys and inactive keys. The keys stored in the cache134can be updated via the centralized key management system115. The cache134can be receive a request for the electronic key from a retrieval system, such as the recording subsystem135, the playback component130, or a third party playback component140. The request includes a unique identifier associated with the data and/or key identification associated with the electronic key. The cache134uses the unique identifier and/or key identification to provide the electronic keys to the retrieval system. The cache134transmits the electronic key via the network133and/or IP/data network110. The encryption of the data by the recording subsystem135provides security during the transmission and storage of the data in the recording system120. The retrieval process of the electronic keys allows the encrypted data to migrate to different retrieval systems using the associated electronic keys for decrypting the data.

There are various encryption methods. For example, in symmetric-key encryption, each computer has a secret key (code) that the computer use to encrypt a packet of information before the packet is sent over the network to another computer. Symmetric-keys are installed into computers that communicate with each other. Symmetric-key encryption is essentially the same as a secret code that each computer knows to decode the information. The code provides the key for decoding the message. An analogy of the encryption is that a first person creates a coded message and sends the message to a second person. To decrypt the message, each letter is substituted with the letter that is two down from it in the alphabet. So “A” becomes “C,” and “B” becomes “D”. The second person knows the encryption method that the code is “Shift by 2”. The second person receives the message and decodes it. Anyone else who sees the message will see only nonsense.

Another encryption method is public-key encryption that uses a combination of a private key and a public key. Each private key is assigned to a first computer, while the public key is given by the first computer to any other computers that wants to communicate securely with the first computer. To decode an encrypted message, the other computers use the public key, provided by the first computer, and their own private keys. One public-key encryption utility is called Pretty Good Privacy (PGP).

Public-key encryption takes a lot of computing, so many systems use a combination of public-key and symmetry-key encryption. When two computers initiate a secure session, one computer creates a symmetric key and sends it to the other computer using public-key encryption. The two computers can then communicate using symmetric-key encryption. Once the session is finished, each computer discards the symmetric key used for that session. Any additional sessions require that a new symmetric key be created, and the process is repeated.

Additionally or alternatively, the recording system120encrypts incoming and outgoing data from multiple respective communication devices117associated with multiple respective interactions. Additionally or alternatively, the recording system120can instruct the communication device117to transmit incoming and outgoing data to a conference bridge125. Responsive to receiving the instruction, the communication device117transmits incoming and outgoing data to the conference bridge125, which duplicates and transmits the data to the recording system120. In other words, the recording system120“observes” the calls/extensions of the interactions via the conference bridge to get a copy of the data. The conference bridge125can “camp” on a specific extension if the switch108permits and receive the data from the communication device117for the interactions as long as the recording system120is observing the extension.

Additionally or alternatively, the recording system120communicating with a VoIP switch108can also get the decryption information for active VoIP streams, which can be used for real-time or post call decryption of the data. Additionally or alternatively, the centralized key management system115continues to use associated electronic keys from the switch management system109for the transmission and storage of the data in the recording system120. However, the manufacturer of the switch management system109currently discourages the use of this security method because this increases the risk of hackers cracking their security through the centralized key management system115. Hackers (external and internal to a company) can use vendor default passwords and other vendor default settings to compromise systems. These passwords and settings can be easily discovered in hacker communities and easily determined via public information.

The playback component130, a third-party playback component140, or another recording subsystem135can retrieve the stored data from the recording subsystem135. The retrieval components130,135,140can be, for example, a desktop computer that plays and/or displays audio, video, screen capture, and text messaging data on the speaker and monitor, respectively. Responsive to receiving a request from the retrieval components, an authorization process may be required for the retrieval components130,135,140before communicating with each other. For example, the recording subsystem135determines whether the retrieval components130,135,140have authentication via the authentication system128to receive the requested data. If the retrieval components130,135,140have authentication, the recording subsystem135transmits the stored data to the retrieval components130,135,140. If the retrieval components130,140play back the stored data, the retrieval components130,140can retrieve the electronic keys from the centralized key management system115and/or cache134,137using key identification associated with the encrypted data or the unique identifier of the encrypted data that is associated with the electronic key. The retrieval components130,140decrypt the requested data using the associated electronic key and play back the requested data.

Additionally or alternatively, a secure tunnel may be established among the retrieval components before stored data and electronic keys are transmitted and received among the retrieval components. For example, a secure sockets layer (SSL) is a cryptographic protocol which provide secure communications on the network (e.g., Internet) for data, such things as e-mail and internet faxing. The SSL protocol exchanges data. Each data can be optionally compressed, encrypted and packed with a message authentication code (MAC). Each data can have a content type field that specifies which upper level protocol is being used. When the retrieval components130,140connect with the recording subsystem135connection, the data level encapsulates another protocol, the handshake protocol, which has the content type.

Several handshake structures are transmitted and received via the network. For example, a ClientHello message is transmitted specifying the list of cipher suites, compression methods and the highest protocol version being supported. Random bytes can be transmitted. A ServerHello message is received, in which the server chooses the connection parameters from the choices offered by the client earlier. When the connection parameters are known, the retrieval components130,135,140exchange certificates (depending on the selected public key cipher). These certificates are currently X.509, which is an international Telecommunication union (ITU) standard. The retrieval components130,135,140can request a certificate from another retrieval component so that the connection can be mutually authenticated the retrieval components130,135,140negotiate a common secret called “master secret”, possibly using the result of a Diffie-Hellman exchange, or simply encrypting a secret with a public key that is decrypted with the peer's private key. All other key data is derived from this “master secret” (and the client- and server-generated random values), which is passed through a “Pseudo Random Function”. Once the retrieval components130,135,140have authentication, the stored data are secure to be passed among the retrieval components130,135,140.

Additionally or alternatively, the recording subsystem135transmits the requested data to the centralized key management system115for decryption and instructs the system115to transmit the decrypted data to the playback components130,140. Additionally or alternatively, the recording subsystem uses the key identification associated with the encrypted data to obtain the electronic key from the cache134and transmits the requested data along with the associated electronic key to the retrieval components130,135,140. Additionally or alternatively, the recording subsystem uses the key identification associated with the encrypted data to obtain the electronic key from the cache134and transmits the requested data along with the associated electronic key to the retrieval components130,135,140. In the various alternative embodiments mentioned above, the transmission of the data to the playback component130from the recording system120are secure by providing encrypted data via a secure tunnel or an authentication process.

FIG. 2is a schematic diagram of an embodiment of an encrypted recording environment using a local key management system of a recording system. The encrypted recording environment200is similar to the encrypted recording environment100inFIG. 1as described above. That is, system200includes communication devices205,217, telephony network206, gateway207, switch208, switch management system209, a company premises212, IP/data network210, recording system220, playback component230, third-party playback component240, and authentication system228.

The company premises212receives encrypted or unencrypted data from the switch208and/or the communication device217. The received data are transmitted to the recording subsystem235, which includes a local key management system (LKMS)213. Similar to the centralized key management system115ofFIG. 1, the LKMS213provides electronic keys for encrypting the received data. The recording subsystem235encrypts the received data using the electronic keys and stores the encrypted data. The LKMS213can transmit a duplicate copy of the electronic keys to LKMS215and LKMS217located in the playback component230and third-party playback component240via the network233and IP/data network210, respectively. The playback components230,240can transmit a request for the electronic keys to the LKMSs215,217to decrypt the encrypted data.

For example, the recording subsystem235encrypts and stores data from the company premises212using an electronic key from the LKMS213. The LKMS213communicates with the LKMSs215,217via a secure method. The playback components230,240can retrieve the stored, encrypted data from the recording subsystem235. In addition, the playback components230,240can retrieve the associated electronic key from the LKMSs215,217, respectively, using associated key identifications and/or unique identifiers.

FIG. 3illustrates an exemplary database of electronic keys. The key management system or cache stores the database301of the electronic keys. Each electronic key310has a key identification305and is associated with at least one unique identifier315of the encrypted data. For example, data with unique identifiers0103and0106can be encrypted and decrypted using the electronic key0033. Retrieval components can retrieve the electronic keys using the unique identifier.

FIG. 4illustrates an exemplary database of stored data and metadata associated with the stored data. The recording subsystem stores the database401of the stored data. Each stored data410has a key identification405. The recording subsystem can use the key identification to retrieve the electronic key for decryption. Additionally or alternatively, retrieval components can use metadata to retrieve the stored, encrypted data. The metadata is associated with the key identifications, which the retrieval components use to retrieve the electronic keys from the key management system or cache.

FIG. 5is a flow diagram that illustrates operation of an embodiment of an encrypted recording environment such as shown inFIGS. 1 and 2. Beginning with block505, data associated with an interaction are received, such as at a company premises. In block510, an electronic key is generated for encrypting the data of the interaction. In block515, the data are associated with the electronic key. In block520, the data are encrypted using the electronic key. In block525, the encrypted data are stored in a recording system.

FIGS. 6A-Bare flow diagrams that illustrate operation of an embodiment of an encrypted recording system environment, such as shown inFIGS. 1 and 2. In blocks605and610, a switch receives data associated with an interaction and transmits the data via an IP/data network, respectively. In block615, a recording system receives the data from the switch. In block620, the recording system transmits a request to a key management system for an electronic key for encrypting the data of an interaction. In block625, the key management system generates an electronic key to encrypt the data. In block630, the key management system associates the electronic key with the data. Alternatively or additionally, the request can be transmitted to a cache that provides an electronic key for encryption of the data. As mentioned above, the cache stores a duplicate copy of at least one electronic keys from the key management system.

In block635, either the key management system or cache transmits generated electronic keys via a network. In block640, the recording system encrypts the data using the transmitted keys. In some embodiments, the data are encrypted to include the key identifications of the transmitted keys. In block645, the recording system stores the encrypted data. In block650, the recording system receives a request for stored data. The recording system can determine whether a retrieval component has authentication to retrieve the stored data. In block655, responsive to the determining that the retrieval component has authentication, the recording system transmits the stored data via the network. In block660, the recording system transmits a request to the key management system or cache to retrieve the associated electronic key for decrypting the stored data. The request for decryption includes the key identification or the unique identifier, or both, which the key management system or cache uses to determine the proper electronic key for decryption of the encrypted data. In block665, the stored data are decrypted using the electronic keys.

FIG. 7is a flow diagram that illustrates operation of an embodiment of a key management system. Beginning with block705, the key management system receives a request to retrieve electronic keys and in block710, determines whether the request has authentication information to retrieve the electronic keys. In block715, responsive to determining that the retrieval component has authentication, the key management system generates the electronic keys. Alternatively or additionally, the key management system can maintain a database of electronic keys and select the electronic keys from the database using random, semi-random, and sequential rotation of the electronic keys. Alternatively or additionally, the keys can be active or inactive keys.

In blocks720and725, the key management system associates the generated or selected electronic keys with unique identifiers of the data and transmits the electronic keys for encrypting and decrypting the data, respectively. Alternatively or additionally, the request can include a key identification that the key management system uses to select the electronic key for decryption of the stored data. In block730, the key management system manages the electronic keys for at least the life of the associated data.

FIG. 8is a flow diagram that illustrates operation of an embodiment of a cache. In block805, the cache communicates with a key management system to obtain a duplicate copy of at least one electronic key. In block810, the cache receives a request to retrieve the electronic keys for encrypting and decrypting data. In block820, the cache provides an electronic key based on the request. The cache determines whether an electronic key has been associated with the unique identifier. If not, the cache associates an electronic key with the unique identifier, as shown in block820.

Alternatively or additionally, if a recording subsystem transmits a request for encryption, the cache transmits the electronic key along with the key identification to the retrieval component. The recording subsystem encrypts the data and associates the key identification with the encrypted data. To decrypt the data, the retrieval component can request to the cache for the electronic key that is associated with the key identification and/or the unique identifier. In block825, the cache transmits the associated electronic keys for encrypting and decrypting the data. In block830, the cache manages the electronic keys for at least the life of the data.

FIG. 9is a flow diagram that illustrates operation of an embodiment of a recording subsystem. In block905, the recording subsystem receives captured data. In block910, the recording subsystem transmits a request to retrieve electronic keys for encrypting the data. In block915, the recording subsystem receives the electronic keys for encrypting the data. In block920, the recording subsystem encrypts the data using the electronic keys.

Alternatively or additionally, in blocks925and930, the recording subsystem receives a request to move stored data to a second recording subsystem and determines whether the second recording subsystem has authentication to store the data, respectively. In block935, the recording subsystem moves the data to the second recording subsystem.

In block940, both recording subsystems can receive a request from a playback component for the stored data. In block945, each recording subsystem determines whether the playback component has authentication to retrieve stored data. In block950, each recording subsystem transmits a request to a key management system or cache to retrieve associated electronic keys for decrypting the stored data. In blocks955, each recording subsystem transmits stored data.

FIG. 10is a flow diagram that illustrates operation of an embodiment of a playback component. In blocks1005and1010, the playback component transmits a request to a recording system to retrieve stored data and provides authentication information to determine whether the playback component has authentication to retrieve stored data, respectively. In block1015, responsive to determining that the playback component has authentication, the playback component receives stored data from the recording system and associates electronic key from a key management system or cache. In block1020, the stored data are decrypted using the received key. In block1025, the playback component plays back the stored data.