Perhaps someone can provide me with some of his or her experiences if
looking at MySQL to implement a “secure from structure manipulation” in a
commercial application using MySQL.



I am currently evaluating the possible migration of my app to MySQL as the
basis. I already have tested  the creation of structures and exporting of
the 100+ tables and looked at viewing the data via Delphi on internal
networks and over dial-up lines. I have also viewed the creation of “Open
Database” copies that users can do What If  analysis and structure
manipulation with. This has been a successful start I am pleased to say



Part of my is into the security of the data structures. I need to know that
the creation of a structure and data I use that users/hackers would 1) not
be able to access and manipulate the data structures and 2) only access the
data according to the user definitions set under my applications
administration utilities. The reason for this is that the data I deal with
is both sensitive and relatively complex in its relationships. Data
Integrity is vitally important. I do not want anyone having the chance of
manipulating the “live” data structures and data other than via the
application. That is not to say that users cannot manipulate their own data.
In a controlled environment I currently provide an “export” of the data to
an open format (which now includes MySQL) that users can manipulate in any
way, manner or form they like. It is only the Live data that needs to be
closely controlled and handled. This model has proved successful over the
last 13 years but I am now looking for a new database engine. The pricing
model is understood and am happy with the Commercial License approach and
with me looking to roll out 200+ licenses over a 24 month period, this is
not an issue. The issue is can it work in a similar controlled manner as my
current application. If not where are the issues and can I live with the
differences.



One worry is the ability for users/hackers etc to overlay the user access
database i.e. “what to do if you forget the administration password”
scenario. This procedure will then allow open access to the data structures
and the information of the application and the “live” data. I need to block
this capability.



What have others done to keep data structure security within their control
only? Being a Windows house I am really only looking at the Windows version
(at the moment). I use other high level languages, which doesn’t include C++
i.e. I don’t have the compiler to “make my own special MySQL version”. I don
’t really want to create my own special binaries anyway.



I am not sure what encryption models are available. An external encryption
library isn’t really useful because this would block users using 3rd party
report writers to gain read-only access to the data structures to write
their reports. If an internal encryption mechanism is available then I would
like to hear about it.



Sorry about the message length, but I am trying to give a little bit of
background to cover the more obvious “Why don’t you …” or “Do you …”
questions.



Regards



Kerry

Reply via email to