Thread: Protecting application table structures and data
Hi. I am creating a desktop app and am interested in using postgres. I started this app with sqlite3 which is nice but not multi-threaded so I have run into its limitations. I want to install postgres on the users machine as part of the set up but want the application, if possible, to be the db admin for the installed pg server. Is this possible? I am hoping the application can be admin and create the tables and give the machine's user appropriate access without providing direct access to admin functions. Alternatively, is there a way to protect the data structures and data through encryption to secure the structures and data in a way that cannot be read by a human? Many thanks. Regards, David
On Thu, Dec 15, 2005 at 05:01:47PM -0400, David Pratt wrote: > Hi. I am creating a desktop app and am interested in using postgres. I > started this app with sqlite3 which is nice but not multi-threaded so I > have run into its limitations. > > I want to install postgres on the users machine as part of the set up > but want the application, if possible, to be the db admin for the > installed pg server. Is this possible? > > I am hoping the application can be admin and create the tables and give > the machine's user appropriate access without providing direct access to > admin functions. You can do this, but remember that anyone who has access to the account postgresql is running under is going to be able to do pretty much anything they want. And anyone with administrative access to the machine will be able to get access to that account. > Alternatively, is there a way to protect the data structures and data > through encryption to secure the structures and data in a way that > cannot be read by a human? Many thanks. No, there isn't. In fact, I think only Oracle has that capability, though I could be mistaken. -- Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461
Hi Jim. Many thanks for your reply. I guess this is not so great news. I am sort of at a loss as to what direction to take. I need a db connection on a couple of threads minimum in my app but also need to ensure that the information is secure. Regards David Jim C. Nasby wrote: > On Thu, Dec 15, 2005 at 05:01:47PM -0400, David Pratt wrote: > >>Hi. I am creating a desktop app and am interested in using postgres. I >>started this app with sqlite3 which is nice but not multi-threaded so I >>have run into its limitations. >> >>I want to install postgres on the users machine as part of the set up >>but want the application, if possible, to be the db admin for the >>installed pg server. Is this possible? >> >>I am hoping the application can be admin and create the tables and give >>the machine's user appropriate access without providing direct access to >>admin functions. > > > You can do this, but remember that anyone who has access to the account > postgresql is running under is going to be able to do pretty much > anything they want. And anyone with administrative access to the machine > will be able to get access to that account. > > >>Alternatively, is there a way to protect the data structures and data >>through encryption to secure the structures and data in a way that >>cannot be read by a human? Many thanks. > > > No, there isn't. In fact, I think only Oracle has that capability, > though I could be mistaken.
On Thu, 2005-12-15 at 16:23, David Pratt wrote: > Hi Jim. Many thanks for your reply. I guess this is not so great news. I > am sort of at a loss as to what direction to take. I need a db > connection on a couple of threads minimum in my app but also need to > ensure that the information is secure. Let's face facts. The second you hand the user a CDROM with your application and encoded data on it, and the application has a way to access it, it's only a matter of time before the user, by hacking the application, can get access to it. There is one, and only one, real solution. Host the data yourself and require the user to connect remotely to you. For instances of attempts to make things secure on remote systems, see the recent Sony - F4I - root kit debacle.