RE: Stored Credit Card Numbers. Best practice.

2000-08-23 Thread Michael O Reilly

Mark,

Here's a couple of tips which may be worth considering. I don't consider
myself a security expert so perhaps others on the list may agree/disagree
with some of these suggestions.

1) If possible, seperate the Database from the Web-server. Then use IPX/SPX
on the Web server to connect to the SQL Server machine. You can then add a
blocking filter on your router to block all incoming and outgoing IPX
traffic and make sure IPX is not set up on any proxies/firewalls. If set up
correctly this should pretty much eliminate any traffic directly to the
database except from your Web-server. If possible use non-routable IP
numbers on your LAN (some thing like 192.168.x.x) and use NAT (Network
Address Translation) on your router. This makes IP spoofing much more
difficult for a hacker. IP bans are only useful if a hacker is unable to
spoof their IP address. Also if the external IP number a hacker see's is
different to the IP address range in use on your LAN, it makes it
considerably harder to a hacker to scan ports on your network.Have a look at
Steve Gibsons "Shields Up" web-site http://www.grc.com

2) Remove all rights from the tables you wish to use for storing the numbers
and use stored procedures. This means that users can't link to the tables
from an ODBC product like Access and read/modify tables.

3) If you are going to separate your CC numbers by splitting the first 12
digits from the checksum, you could create a  "View" of your UserID and 4
digit fields and give a stored procedure select rights only to this View.

4) Use a stored procedure with Insert rights only when first creating the
record. The script for collecting the CC number should use SSL.

5) Once a user has entered their number,never show them the first 12 digits
again, sounds obvious but you would be amazed by the silly things people do.

6) Finally some "in-house" processes will need to read CC numbers for
processing. Place any scripts which have Select rights on the first 12
digits in a separate virtual folder. Make these scripts read-only and place
an IP ban on them (only allow 1 or two machines on the LAN to have access to
them).  If you are using your own scripts for CC processing and not a bought
in solution, add NT security to these scripts.

I hope I haven't gone over the top here. I also have a doc  that I got from
the MS web-site called "Authentication and Security for Internet
Developers". Mail me if you would like a copy. Bit of a joke MS lecturing on
security when there products have been riddled with security holes.


Regards
Michael O'Reilly
TransAer
 



-Original Message-
From: Dan O'Keefe [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, August 22, 2000 7:21 PM
To: [EMAIL PROTECTED]
Subject: RE: Stored Credit Card Numbers. Best practice.


One thing that we have done in the past is to split the number into two
different tables, both encrypted. The first table, had the last 4 digits,
and would be displayed to the customer like:

   3456

And prompt them to enter the first 11 or 12 (AMEX or Non-AMEX). Then the
Java servlet for ClearCommerce would retrieve the 11 or 12 digits from the
2nd table, decrypt it, and match it to what the customer had.

You can implement any variance of this you like, as this type of situation
also helps with unnecessary viewing by employees who do not need access to
that info.

--
Dan O'Keefe
TriPoint Technologies
[EMAIL PROTECTED]
954.501.3113

|-Original Message-
|From: Mark W. Breneman [mailto:[EMAIL PROTECTED]]
|Sent: Monday, August 21, 2000 9:14 AM
|To: [EMAIL PROTECTED]
|Subject: Stored Credit Card Numbers. Best practice.
|
|
|
|I know the first tip I will hear is don't store CC numbers.  But, in this
|case I have to store CC numbers.  So, I am looking for any tips I
|can get on
|storing CC numbers.
|
|Lets start off by assuming the "client" info will be stored in one database
|and their CC numbers in another.  In this case both on the same MS SQL
|server.  Currently I am encoding the CC numbers with (CF) Encrypt.  As I
|understand this encryption can be broken with a "hacking" tool.  And with
|all the Microsoft bugs in IIS regarding viewing the source code.  The (CF)
|encrypt key in it is not very safe to begin with.
|
|So, I am looking for a better method of encrypting my CC numbers.  Perhaps
|MS SQL server can encode a field value?  Any ideas, tips?
|
|Also, do I bother encrypting the relation ship id number between the two
|databases?  (client info and client CC number)
|
|Any tips or ideas on database design or MS SQL encoding stored procs are
|welcome...
|
|
|Thanks
|
|Mark W. Breneman
|-Cold Fusion Developer
|-Network Administrator
|  Vivid Media
|  [EMAIL PROTECTED]
|  www.vividmedia.com
|  608.270.9770
|
|---
|---
|Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
|To Unsu

RE: Stored Credit Card Numbers. Best practice.

2000-08-23 Thread Bud

On 8/22/00, Dan O'Keefe penned:
|I know the first tip I will hear is don't store CC numbers.  But, in this
|case I have to store CC numbers.  So, I am looking for any tips I
|can get on
|storing CC numbers.
|
|Lets start off by assuming the "client" info will be stored in one database
|and their CC numbers in another.  In this case both on the same MS SQL
|server.  Currently I am encoding the CC numbers with (CF) Encrypt.  As I
|understand this encryption can be broken with a "hacking" tool.  And with
|all the Microsoft bugs in IIS regarding viewing the source code.  The (CF)
|encrypt key in it is not very safe to begin with.

I use PGP and the CFX_PGP tag.

Take a peek at what it'll do:

http://www.twcreations.com/pgp/

It's basically as strong as your Passphrase. Don't tell anyone your 
passphrase, no one will get the numbers.
-- 

Bud Schneehagen - Tropical Web Creations

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
ColdFusion Solutions / eCommerce Development
[EMAIL PROTECTED]
http://www.twcreations.com/
954.721.3452
--
Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.



RE: Stored Credit Card Numbers. Best practice.

2000-08-22 Thread Dan O'Keefe

One thing that we have done in the past is to split the number into two
different tables, both encrypted. The first table, had the last 4 digits,
and would be displayed to the customer like:

   3456

And prompt them to enter the first 11 or 12 (AMEX or Non-AMEX). Then the
Java servlet for ClearCommerce would retrieve the 11 or 12 digits from the
2nd table, decrypt it, and match it to what the customer had.

You can implement any variance of this you like, as this type of situation
also helps with unnecessary viewing by employees who do not need access to
that info.

--
Dan O'Keefe
TriPoint Technologies
[EMAIL PROTECTED]
954.501.3113

|-Original Message-
|From: Mark W. Breneman [mailto:[EMAIL PROTECTED]]
|Sent: Monday, August 21, 2000 9:14 AM
|To: [EMAIL PROTECTED]
|Subject: Stored Credit Card Numbers. Best practice.
|
|
|
|I know the first tip I will hear is don't store CC numbers.  But, in this
|case I have to store CC numbers.  So, I am looking for any tips I
|can get on
|storing CC numbers.
|
|Lets start off by assuming the "client" info will be stored in one database
|and their CC numbers in another.  In this case both on the same MS SQL
|server.  Currently I am encoding the CC numbers with (CF) Encrypt.  As I
|understand this encryption can be broken with a "hacking" tool.  And with
|all the Microsoft bugs in IIS regarding viewing the source code.  The (CF)
|encrypt key in it is not very safe to begin with.
|
|So, I am looking for a better method of encrypting my CC numbers.  Perhaps
|MS SQL server can encode a field value?  Any ideas, tips?
|
|Also, do I bother encrypting the relation ship id number between the two
|databases?  (client info and client CC number)
|
|Any tips or ideas on database design or MS SQL encoding stored procs are
|welcome...
|
|
|Thanks
|
|Mark W. Breneman
|-Cold Fusion Developer
|-Network Administrator
|  Vivid Media
|  [EMAIL PROTECTED]
|  www.vividmedia.com
|  608.270.9770
|
|---
|---
|Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
|To Unsubscribe visit
http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or
send a message to [EMAIL PROTECTED] with 'unsubscribe' in
the body.

--
Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.



Stored Credit Card Numbers. Best practice.

2000-08-21 Thread Mark W. Breneman


I know the first tip I will hear is don't store CC numbers.  But, in this
case I have to store CC numbers.  So, I am looking for any tips I can get on
storing CC numbers.

Lets start off by assuming the "client" info will be stored in one database
and their CC numbers in another.  In this case both on the same MS SQL
server.  Currently I am encoding the CC numbers with (CF) Encrypt.  As I
understand this encryption can be broken with a "hacking" tool.  And with
all the Microsoft bugs in IIS regarding viewing the source code.  The (CF)
encrypt key in it is not very safe to begin with.

So, I am looking for a better method of encrypting my CC numbers.  Perhaps
MS SQL server can encode a field value?  Any ideas, tips?

Also, do I bother encrypting the relation ship id number between the two
databases?  (client info and client CC number)

Any tips or ideas on database design or MS SQL encoding stored procs are
welcome...


Thanks

Mark W. Breneman
-Cold Fusion Developer
-Network Administrator
  Vivid Media
  [EMAIL PROTECTED]
  www.vividmedia.com
  608.270.9770

--
Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.



RE: Stored Credit Card Numbers. Best practice.

2000-08-21 Thread Scott, Andrew

The best thing, is to have the information in the database encrypted, as
well as protecting the database on a nother server and having security
wrappers on it as well:-) The more secure you make the database server, the
better it will be allround:-)

regards

Andrew Scott
ANZ eCommerce Centre
* Ph 9273 0693  
* [EMAIL PROTECTED]


-Original Message-
From: Mark W. Breneman [mailto:[EMAIL PROTECTED]]
Sent: 22 August 2000 00:14
To: [EMAIL PROTECTED]
Subject: Stored Credit Card Numbers. Best practice.



I know the first tip I will hear is don't store CC numbers.  But, in this
case I have to store CC numbers.  So, I am looking for any tips I can get on
storing CC numbers.

Lets start off by assuming the "client" info will be stored in one database
and their CC numbers in another.  In this case both on the same MS SQL
server.  Currently I am encoding the CC numbers with (CF) Encrypt.  As I
understand this encryption can be broken with a "hacking" tool.  And with
all the Microsoft bugs in IIS regarding viewing the source code.  The (CF)
encrypt key in it is not very safe to begin with.

So, I am looking for a better method of encrypting my CC numbers.  Perhaps
MS SQL server can encode a field value?  Any ideas, tips?

Also, do I bother encrypting the relation ship id number between the two
databases?  (client info and client CC number)

Any tips or ideas on database design or MS SQL encoding stored procs are
welcome...


Thanks

Mark W. Breneman
-Cold Fusion Developer
-Network Administrator
  Vivid Media
  [EMAIL PROTECTED]
  www.vividmedia.com
  608.270.9770


--
Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
To Unsubscribe visit
http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or
send a message to [EMAIL PROTECTED] with 'unsubscribe' in
the body.
--
Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.