Re: can I just encrypt tables? what about the app?
lejeczek <[email protected]>
| Newsgroups | gmane.comp.db.mysql.general |
|---|---|
| Message-ID | <[email protected]> |
@harald, sure. @shawn, you say FTWRL is very important, tools that backup to text files for now - do those follow this principle? mysqldump eg. does it do FTWRL ? (I'm reading man pages but either I've gone blind or it's not there) On 03/03/16 16:02, shawn l.green wrote: > > > On 3/3/2016 10:40 AM, lejeczek wrote: >> On 02/03/16 00:51, shawn l.green wrote: >>> >>> >>> On 3/1/2016 6:26 PM, lejeczek wrote: >>>> >>>> >>>> On 29/02/16 21:35, shawn l.green wrote: >>>>> >>>>> >>>>> On 2/29/2016 3:13 PM, Reindl Harald wrote: >>>>>> >>>>>> >>>>>> Am 29.02.2016 um 20:54 schrieb Gary Smith: >>>>>>> On 29/02/2016 19:50, Reindl Harald wrote: >>>>>>>> >>>>>>>> cryptsetup/luks can achieve that way better >>>>>>>> >>>>>>> Only to a degree. >>>>>> >>>>>> no - not only to a degree - when the question is "not >>>>>> store anything >>>>>> unencrypted on the disk" the is no degree, but or if >>>>>> >>>>>>> Once the disk is unencrypted, you've got access to the >>>>>>> filesystem. If you've got physical access to the >>>>>>> machine, then >>>>>>> anything >>>>>>> which gives you console access gives you >>>>>>> (potentially) access to the >>>>>>> underlying database files. If you can get those, >>>>>>> it's trivial to get >>>>>>> access to the dataset that they contain. >>>>>>> >>>>>>> However, if TDE is employed, then you've got another >>>>>>> significant >>>>>>> obstacle to overcome: The data is only encrypted >>>>>>> (aiui) once it's in >>>>>>> memory. At this point, you're needing to do attacks >>>>>>> on RAM to get >>>>>>> access >>>>>>> to the data - and even then, you're unlikely to get >>>>>>> 3 bars for a >>>>>>> jackpot >>>>>>> payout of the whole database schema, assuming a >>>>>>> decent sized >>>>>>> database. >>>>>> >>>>>> in theory >>>>>> >>>>>> in reality you don't need to hack around in the RAM - >>>>>> mysqld needs to >>>>>> have access to key for operate with the data and so >>>>>> you need to find >>>>>> only that piece >>>>>> >>>>>> the same for encryption on the application side >>>>>> before send data to >>>>>> the >>>>>> db-layer - see the start and subject of that thread >>>>>> how far people are >>>>>> away from understanding how and on what layer things >>>>>> are encrypted and >>>>>> what excatly is protected in which context.... >>>>>> >>>>>> there is no "turn this on and you are safe" without >>>>>> deeper >>>>>> understanding >>>>>> >>>>> >>>>> Correct. As long as the key and the lock are on the >>>>> same machine, >>>>> there will be some way of opening that lock. It's just >>>>> a matter of how >>>>> hard can you make it to find that key. No data is >>>>> perfectly safe. No >>>>> crypto is unbreakable. Ever. >>>>> >>>>> Maybe the key only exists in memory while the daemon >>>>> runs? You can >>>>> hack the memory to find the key. >>>>> >>>>> Maybe the key is retrieved from another key service >>>>> daemon. If you >>>>> have the credentials to impersonate a valid retriever, >>>>> you are in the >>>>> money. >>>>> >>>>> The purpose of any encryption system is not to make it >>>>> impossible to >>>>> read the data. It's purpose is to make it >>>>> impractically hard for any >>>>> unauthorized parties to read it. >>>> taking your last line and making and assumption or two, >>>> notion of double >>>> encryption arises - will it work? >>>> >>>> >>> >>> A system called "Triple DES" does exactly what you >>> propose and appears >>> to be in wide usage. >>> https://en.wikipedia.org/wiki/Triple_DES >>> >>> The key to avoiding brute force attacks is not how many >>> times you >>> scramble the data, but how long your key is. In the >>> early days of >>> computers, keys were short because processing power was >>> less. In >>> today's world, you must use longer keys just to stay >>> ahead of Moore's >>> Law. >>> >>> Quoting from >>> http://www.welivesecurity.com/2016/02/17/how-is-cryptography-incorporated-into-pos-terminals/ >>> >>> >>>> For example, DES with a 56-bit key (2^56 possible >>>> combinations) can >>>> be broken in less than a day, since average computers >>>> can perform a >>>> billion operations per second. However, the addition of >>>> more bits to >>>> the string will exponentially increase the time >>>> required to crack it. >>> >>> >>> Most SSL keys (for example, those used to encrypt the >>> information >>> exchanged when you visit "secure" web sites) should all >>> have keys that >>> are 2048 bits or longer. If they don't already, I'll bet >>> they are >>> upgrading their certificates soon. >>> http://news.netcraft.com/archives/2012/09/10/minimum-rsa-public-key-lengths-guidelines-or-rules.html >>> >>> >>> >>> >> how to backup in a way that this in-database-encryption >> will be taken >> advantage of? >> does any of present backup solutions can do it? >> many thanks. >> > > As the new encryption layer we are discussing (TDE) is > between the storage engine and the physical file (the data > in the file is encrypted), then any technique for doing > safe file-level backups will preserve the encryption. > > Examples: > cold backups (copying off the files after stopping the > daemon) > FTWRL + wait for background threads to complete their > queues + file system snapshot > MySQL Enterprise Backup (coming soon for TDE tables; we > are still working out some early bugs between TDE and MEB) > > Any technique that reads the decrypted data and > transcribes it to text would not be a backup technique > that preserves that encryption. > Example: mysqldump > > > (NOTE: "FTWRL" is a shorthand for the command FLUSH TABLES > WITH READ LOCK. It can save a lot of typing. ) > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql