Encryptio key hardware solution... help :(

From: Stephen O'Sullivan (steve_at_nospam_noway_dontyoudare.net)
Date: 06/27/03


Date: Fri, 27 Jun 2003 14:16:03 +0100


Hi Guys,

We're in the development stage of a Web Services solution that is offering
Credit Card holders who do business online a solution for the processing of
payments and posting of daily files to different acquiring Banks (all the
Global banks). We offer Dynamic Currency Conversion on transactions!!

Anyway enough about what we do, i've got an issue of spec'ing a solution
that provides a Secure and Safe environment where these Credit Card
tansactions can be queried and archived. There will be an online database
(SQL Server) that will store all the information about transaction (amounts,
ID numbers, and of course Credit Card numbers). What i need to do is encrypt
the database fields where the card numbers are stored. All the rest i can
secure using IPSec and DPAPI(as in all processing requests, server
communication, authentication, etc). Now it was proposed we do the 'hardware
solution' route.

We will have an 'Encryption Application Server. This encryption application
server will have a windows service running on the machine under a local
account. This local account will have very low privileges on the machine.
The windows service will host a single remote component, which will provide
methods to protect and unprotect passed data. The data will be protected
using a 2-step process the first step will need to read the encryption key
from a configuration file using the DPAPI Win32 function, it will then use
this encryption key to decrypt the passed data using the 3Des cryptography
algorithm which is provided by the OS. The reasoning for using the 2 step
process is to protect the key that was used to encrypt the data, we do not
want to have to rely on the DPAPI protection alone because if the host
machine or user account became corrupted we would not be able to unprotect
the data again, leaving us with data we cannot use. This leaves us with the
2-step solution where we encrypt using 3Des but we protect the encryption
key using DPAPI on the machine. We will need to keep a backup copy of this
key off site and this should never appear anywhere else in the network,
should be protected using DPAPI once and persisted to a configuration file
on this machine using the user store method. An explanation of DPAPI can be
found here

If we decide to go the route of the hardware solution where a piece of
hardware does the encryption then we will re-use the exact same
infrastructure as described above. It will however mean we do not need to
maintain a key as the hardware will maintain this key, I'm also presuming
the hardware vendor will provide a mechanism to cater for hardware failure
where we would need to replace the hardware if broken with time constraints
etc so that we can access the data.

Regards,

Steve.



Relevant Pages

  • Re: Security risk on dual boot WinXP/Linux systems using Partition Magic 8.0?
    ... > Any time you have access to the hardware, you have full access to do what ... > with NTFS although writing to that file system can be a bit problematic. ... > protect the logical system if you want to be secure. ... just one thing to add -- filesystems with encryption can ...
    (comp.os.linux.security)
  • Re: Securing data to a process principal
    ... reasonable controls that protect against "casual" abuse. ... hooks into your encryption function) and you cannot prevent an admin using ... The RM analyst also uses an app that has an embedded obfuscated key (I'll ... where the secret is stored in the registry. ...
    (microsoft.public.platformsdk.security)
  • [HV-INFO] Enova hardware encryption: false sense of security
    ... Enova Technology is a manufacturer of the X-Wall ASIC that provides ... transparent IDE/ATA hard disk encryption. ... A critical design flaw makes possible to duplicate hardware tokens and/or ...
    (Bugtraq)
  • Re: encrypted source file support in jdk?
    ... Encryption is a solution to a problem. ... You want to protect your source files. ... C++ with a highly optimising compiler will do ...
    (comp.lang.java.help)
  • Re: database password and encryption
    ... I know the basic concepts about encryption. ... This database should be encrypted with a strong, ... way you can protect the database AT ALL. ... I could encrypt the key several times and hide the new, resulting, keys on ...
    (microsoft.public.platformsdk.security)