Обсуждение: Secure DB Systems - How to

Поиск
Список
Период
Сортировка

Secure DB Systems - How to

От
"Sarah Tanembaum"
Дата:
I was wondering if it is possible to create a secure database system
usingPostgreSQL/PHP combination?

I have the following in mind:

I wanted to store all my( and my brothers and sisters) important document
information such as birth certificate, SSN, passport number, travel
documents, insurance(car, home, etc) document, and other important documents
imagined in the database.

The data will be entered either manually and/or scanned(with OCR). I need to
be able to search on all the fields in the database.

We have 10 computers(5bros, 4sisters, and myself) plus 1 server with I
maintained. The data should be synchronize/replicate between those
computers.

Well, so far it is easy, isn't it?

Here's my question:

a) How can I make sure that it secure so only authorized person can
modify/add/delete the information? Beside transaction logs, are there any
other method to trace any transaction(kind of paper trail)?

Assuming there are 3 step process to one enter the info e.g:
- One who enter the info (me)
- One who verify the info(the owner of info)
- One who verify and then commit the change!
How can I implement such a process in PostgreSQL and/or PHP or any other web
language?

b) How can I make sure that no one can tap the info while we are entering
the data in the computer? (our family are scattered within US and Canada)

c) Is it possible to securely synchronize/replicate between our computers
using VPN? Does PostgreSQL has this functionality by default?

d) Other secure method that I have not yet mentioned.

Anyone has good ideas on how to implement such a systems?

Thanks






Re: Secure DB Systems - How to

От
"Sarah Tanembaum"
Дата:
Thanks Rajesh.

What you propose is good for making each record private but does not protect
from other with dba access from viewing the sensitive fields, e.g:
socialsecuritynumber.

Suppose that you have the following field:
name
address1
address2
city
state
zip
socialsecuritynumber
phonenumber
passportnumber
bankaccountnumber
bankdepositboxnumber

Individually, please correct me if I'm wrong, the field does not mean
anything to anyone EXCEPT to the owner of those information. BUT, the
RELATION of those fields are very telling about the individual.

How do one protect those relation so no non-authorized user able to view the
sensitive information.

Okay, let me think out loud.

Suppose that we store all those fields in text format, but withouth
RELATIONSHIP information, that is, anyone can view all the SSN, phone,
bankaccountnumber etc, but only the owner and a few authorized
users(controlled with secure password or key) able to view those relation.

Does this make any sense?

Thanks

"Rajesh Kumar Mallah" <mallah@trade-india.com> wrote in message
news:40F29B19.2020407@trade-india.com...
> Sarah Tanembaum wrote:
>
> >I was wondering if it is possible to create a secure database system
> >usingPostgreSQL/PHP combination?
> >
> >I have the following in mind:
> >
> >I wanted to store all my( and my brothers and sisters) important document
> >information such as birth certificate, SSN, passport number, travel
> >documents, insurance(car, home, etc) document, and other important
documents
> >imagined in the database.
> >
> >The data will be entered either manually and/or scanned(with OCR). I need
to
> >be able to search on all the fields in the database.
> >
> >We have 10 computers(5bros, 4sisters, and myself) plus 1 server with I
> >maintained. The data should be synchronize/replicate between those
> >computers.
> >
> >Well, so far it is easy, isn't it?
> >
> >Here's my question:
> >
> >a) How can I make sure that it secure so only authorized person can
> >modify/add/delete the information? Beside transaction logs, are there any
> >other method to trace any transaction(kind of paper trail)?
> >
> >
> There can be multiple solutions to your problem.
>
> The security and logging may be implemented either at
> database level or application level. That is a call you have to
> take.
>
> If you consider the database to take care of security and logging
> you could do the following.
>
> 1. create a database user for each of your family members
> 2. ask the memebers to login to your application using their own id.
> 3. Use that id for connecting to the database using php.
>
> the security at table level can be managed by various GRANT commands.
>
> the security at row level  can be done using a mechanism methods
> describe in the -general mailling list (search: "row level grants").
>
> For logging changes to your tables you can create audit trail of all
> the tables in question by using triggers or enbale logging of sql
> statements (with current user display) in postgresql server.
>
> u may consider:
> http://gborg.postgresql.org/project/audittrail/projdisplay.php
> although i have not used it myself.
>
>
>
>
>
>
>
>
>
>
> >Assuming there are 3 step process to one enter the info e.g:
> >- One who enter the info (me)
> >- One who verify the info(the owner of info)
> >- One who verify and then commit the change!
> >How can I implement such a process in PostgreSQL and/or PHP or any other
web
> >language?
> >
> >
>
> I think such a moderation should be implemented at application
> level.
>
> >b) How can I make sure that no one can tap the info while we are entering
> >the data in the computer? (our family are scattered within US and Canada)
> >
> >
>
> you may run yor web application using https:// rather than http://
> and you may enable ssl in postgresql for securing the communication
> between application and database.
>
> >c) Is it possible to securely synchronize/replicate between our computers
> >using VPN? Does PostgreSQL has this functionality by default?
> >
> >
>
> Slony and many other replication solution exists for asyncronous
> replication.
>
> Hope it helps a bit.
>
> Regds
> Mallah.
>
> >d) Other secure method that I have not yet mentioned.
> >
> >Anyone has good ideas on how to implement such a systems?
> >
> >Thanks
> >
> >
> >
> >
> >
> >
> >
> >---------------------------(end of broadcast)---------------------------
> >TIP 8: explain analyze is your friend
> >
> >
> >
>
>
> --
>
> regds
> Mallah.
>
> Rajesh Kumar Mallah
> +---------------------------------------------------+
> | Tradeindia.com  (3,11,246) Registered Users     |
> | Indias' Leading B2B eMarketPlace                  |
> | http://www.tradeindia.com/     |
> +---------------------------------------------------+
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>       joining column's datatypes do not match
>