I mean: serving supply requests. пн, 25 мая 2020 г. в 11:15, Alexei Scherbakov <alexey.scherbak...@gmail.com >:
> Nikolay, > > Can you explain why such restriction is necessary ? > Most likely having a currently re-encrypting node serving only demand > requests will have least preformance impact on a grid. > > пн, 25 мая 2020 г. в 11:08, Nikolay Izhikov <nizhi...@apache.org>: > >> Hello, Alexei. >> >> I think we want to implement this feature without nodes restart. >> In the ideal scenario all nodes will stay alive and respond to the user >> requests. >> >> > 24 мая 2020 г., в 15:24, Alexei Scherbakov < >> alexey.scherbak...@gmail.com> написал(а): >> > >> > Pavel Pereslegin, >> > >> > I see another opportunity. >> > We can use rebalancing to re-encrypt node data with a new key. >> > It's a trivial procedure for me: stop a node, clear database, change a >> key, >> > start node and wait for rebalancing to complete. >> > Data will be re-encrypted during rebalancing. >> > >> > Did I miss something ? >> > >> > пт, 22 мая 2020 г. в 16:14, Ivan Rakov <ivan.glu...@gmail.com>: >> > >> >> Folks, >> >> >> >> Just keeping you informed: I and my colleagues are highly interested >> in TDE >> >> in general and keys rotations specifically, but we don't have enough >> time >> >> so far. >> >> We'll dive into this feature and participate in reviews next month. >> >> >> >> -- >> >> Best Regards, >> >> Ivan Rakov >> >> >> >> On Sun, May 17, 2020 at 10:51 PM Pavel Pereslegin <xxt...@gmail.com> >> >> wrote: >> >> >> >>> Hello, Alexey. >> >>> >> >>>> is the encryption key for the data the same on all nodes in the >> >> cluster? >> >>> Yes, each encrypted cache group has its own encryption key, the key is >> >>> the same on all nodes. >> >>> >> >>>> Clearly, during the re-encryption there will exist pages >> >>>> encrypted with both new and old keys at the same time. >> >>> Yes, there will be pages encrypted with different keys at the same >> time. >> >>> Currently, we only store one key for one cache group. To rotate a key, >> >>> at a certain point in time it is necessary to support several keys (at >> >>> least for reading the WAL). >> >>> For the "in place" strategy, we'll store the encryption key identifier >> >>> on each encrypted page (we currently have some unused space on >> >>> encrypted page, so I don't expect any memory overhead here). Thus, we >> >>> will have several keys for reading and one key for writing. I assume >> >>> that the old key will be automatically deleted when a specific WAL >> >>> segment is deleted (and re-encryption is finished). >> >>> >> >>>> Will a node continue to re-encrypt the data after it restarts? >> >>> Yes. >> >>> >> >>>> If a node goes down during the re-encryption, but the rest of the >> >>>> cluster finishes re-encryption, will we consider the procedure >> >> complete? >> >>> I'm not sure, but it looks like the key rotation is complete when we >> >>> set the new key on all nodes so that the updates will be encrypted >> >>> with the new key (as required by PCI DSS). >> >>> Status of re-encryption can be obtained separately (locally or cluster >> >>> wide). >> >>> >> >>> I forgot to mention that with “in place” re-encryption it will be >> >>> impossible to quickly cancel re-encryption, because by canceling we >> >>> mean re-encryption with the old key. >> >>> >> >>>> How do you see the whole key rotation procedure will work? >> >>> Initial design for re-encryption with "partition copying" is described >> >>> here [1]. I'll prepare detailed design for "in place" re-encryption if >> >>> we'll go this way. In short, send the new encryption key cluster-wide, >> >>> each node adds a new key and starts background re-encryption. >> >>> >> >>> [1] >> >>> >> >> >> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95652384#TDE.Phase-3.Cachekeyrotation.-Copywithre-encryptiondesign >> >>> . >> >>> >> >>> вс, 17 мая 2020 г. в 18:35, Alexey Goncharuk < >> alexey.goncha...@gmail.com >> >>> : >> >>>> >> >>>> Pavel, Anton, >> >>>> >> >>>> How do you see the whole key rotation procedure will work? Clearly, >> >>> during >> >>>> the re-encryption there will exist pages encrypted with both new and >> >> old >> >>>> keys at the same time. Will a node continue to re-encrypt the data >> >> after >> >>> it >> >>>> restarts? If a node goes down during the re-encryption, but the rest >> of >> >>> the >> >>>> cluster finishes re-encryption, will we consider the procedure >> >> complete? >> >>> By >> >>>> the way, is the encryption key for the data the same on all nodes in >> >> the >> >>>> cluster? >> >>>> >> >>>> чт, 14 мая 2020 г. в 11:30, Anton Vinogradov <a...@apache.org>: >> >>>> >> >>>>> +1 to "In place re-encryption". >> >>>>> >> >>>>> - It has a simple design. >> >>>>> - Clusters under load may require just load to re-encrypt the data. >> >>>>> (Friendly to load). >> >>>>> - Easy to throttle. >> >>>>> - Easy to continue. >> >>>>> - Design compatible with the multi-key architecture. >> >>>>> - It can be optimized to use own WAL buffer and to re-encrypt pages >> >>> without >> >>>>> restoring them to on-heap. >> >>>>> >> >>>>> On Thu, May 14, 2020 at 1:54 AM Pavel Pereslegin <xxt...@gmail.com> >> >>> wrote: >> >>>>> >> >>>>>> Hello Igniters. >> >>>>>> >> >>>>>> Recently, master key rotation for Apache Ignite Transparent Data >> >>>>>> Encryption was implemented [1], but some security standards (PCI >> >> DSS >> >>>>>> at least) require rotation of all encryption keys [2]. Currently, >> >>>>>> encryption occurs when reading/writing pages to disk, cache >> >>> encryption >> >>>>>> keys are stored in metastore. >> >>>>>> >> >>>>>> I'm going to contribute cache encryption key rotation and want to >> >>>>>> consult what is the best way to re-encrypting existing data, I see >> >>> two >> >>>>>> different strategies. >> >>>>>> >> >>>>>> 1. In place re-encryption: >> >>>>>> Using the old key, sequentially read all the pages from the >> >>> datastore, >> >>>>>> mark as dirty and log them into the WAL. After checkpoint pages >> >> will >> >>>>>> be stored to disk encrypted with the new key (as usual, along with >> >>>>>> updates). This strategy requires store the identifier (number) of >> >> the >> >>>>>> encryption key into the encrypted page. >> >>>>>> pros: >> >>>>>> - can work in the background with minimal performance impact >> >> (this >> >>>>>> impact can be managed). >> >>>>>> cons: >> >>>>>> - page duplication in the WAL may affect performance and >> >> historical >> >>>>>> rebalance. >> >>>>>> >> >>>>>> 2. Copy partition with re-encryption. >> >>>>>> This strategy is similar to partition snapshotting [3] - create >> >>>>>> partition copy encrypted with the new key and then replace the >> >>>>>> original partition file with the new one (see details [4]). >> >>>>>> pros: >> >>>>>> - should work faster than "in place" re-encryption. >> >>>>>> cons: >> >>>>>> - re-encryption in active cluster (and on unstable topology) can >> >> be >> >>>>>> difficult to implement. >> >>>>>> >> >>>>>> (See more detailed comparison [5]) >> >>>>>> >> >>>>>> Re-encryption of existing data is a long and rare procedure (It is >> >>>>>> recommended to change the key every 6 months, but at least once >> >> every >> >>>>>> 2 years). Thus, re-encryption can be implemented for maintenance >> >> mode >> >>>>>> (for example, on a stable topology in a read-only cluster) and in >> >>> such >> >>>>>> case the approach with partition copying seems simpler and faster. >> >>>>>> >> >>>>>> So, what do you think - do we need "online" re-encryption and which >> >>> of >> >>>>>> the proposed options is best suited for this? >> >>>>>> >> >>>>>> [1] https://issues.apache.org/jira/browse/IGNITE-12186 >> >>>>>> [2] >> >>> https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-2-1.pdf >> >>>>>> [3] >> >>>>>> >> >>>>> >> >>> >> >> >> https://cwiki.apache.org/confluence/display/IGNITE/IEP-43%3A+Cluster+snapshots#IEP-43:Clustersnapshots-Partitionscopystrategy >> >>>>>> [4] >> >>>>>> >> >>>>> >> >>> >> >> >> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95652384#TDE.Phase-3.Cachekeyrotation.-Copywithre-encryptiondesign >> >>>>>> . >> >>>>>> [5] >> >>>>>> >> >>>>> >> >>> >> >> >> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95652384#TDE.Phase-3.Cachekeyrotation.-Comparison >> >>>>>> >> >>>>> >> >>> >> >> >> > >> > >> > -- >> > >> > Best regards, >> > Alexei Scherbakov >> >> > > -- > > Best regards, > Alexei Scherbakov > -- Best regards, Alexei Scherbakov