Replace "Master Key" with "Database Credentials"

Definitions:
* Database Key - Cryptographic hash used to perform encrypt/decrypt of the database.

* Database Credentials - User facing term to refer to the collection of Password, Key File, and/or Hardware Key used to derive the Database Key.

Changes:
* Remove the term "master" and "key" from the user's lexicon and clarify  the code base based on the definitions above.
* Clean up wording in the UI to be clearer to the end user.
This commit is contained in:
Jonathan White
2020-07-01 19:16:40 -04:00
parent 60bb593228
commit 3b459813ed
45 changed files with 162 additions and 162 deletions

View File

@@ -351,7 +351,7 @@ bool Database::writeDatabase(QIODevice* device, QString* error)
PasswordKey oldTransformedKey;
if (m_data.key->isEmpty()) {
oldTransformedKey.setHash(m_data.transformedMasterKey->rawKey());
oldTransformedKey.setHash(m_data.transformedDatabaseKey->rawKey());
}
KeePass2Writer writer;
@@ -366,7 +366,7 @@ bool Database::writeDatabase(QIODevice* device, QString* error)
return false;
}
QByteArray newKey = m_data.transformedMasterKey->rawKey();
QByteArray newKey = m_data.transformedDatabaseKey->rawKey();
Q_ASSERT(!newKey.isEmpty());
Q_ASSERT(newKey != oldTransformedKey.rawKey());
if (newKey.isEmpty() || newKey == oldTransformedKey.rawKey()) {
@@ -662,9 +662,9 @@ Database::CompressionAlgorithm Database::compressionAlgorithm() const
return m_data.compressionAlgorithm;
}
QByteArray Database::transformedMasterKey() const
QByteArray Database::transformedDatabaseKey() const
{
return m_data.transformedMasterKey->rawKey();
return m_data.transformedDatabaseKey->rawKey();
}
QByteArray Database::challengeResponseKey() const
@@ -723,7 +723,7 @@ bool Database::setKey(const QSharedPointer<const CompositeKey>& key,
if (!key) {
m_data.key.reset();
m_data.transformedMasterKey.reset(new PasswordKey());
m_data.transformedDatabaseKey.reset(new PasswordKey());
return true;
}
@@ -732,28 +732,28 @@ bool Database::setKey(const QSharedPointer<const CompositeKey>& key,
Q_ASSERT(!m_data.kdf->seed().isEmpty());
}
PasswordKey oldTransformedMasterKey;
PasswordKey oldTransformedDatabaseKey;
if (m_data.key && !m_data.key->isEmpty()) {
oldTransformedMasterKey.setHash(m_data.transformedMasterKey->rawKey());
oldTransformedDatabaseKey.setHash(m_data.transformedDatabaseKey->rawKey());
}
QByteArray transformedMasterKey;
QByteArray transformedDatabaseKey;
if (!transformKey) {
transformedMasterKey = QByteArray(oldTransformedMasterKey.rawKey());
} else if (!key->transform(*m_data.kdf, transformedMasterKey, &m_keyError)) {
transformedDatabaseKey = QByteArray(oldTransformedDatabaseKey.rawKey());
} else if (!key->transform(*m_data.kdf, transformedDatabaseKey, &m_keyError)) {
return false;
}
m_data.key = key;
if (!transformedMasterKey.isEmpty()) {
m_data.transformedMasterKey->setHash(transformedMasterKey);
if (!transformedDatabaseKey.isEmpty()) {
m_data.transformedDatabaseKey->setHash(transformedDatabaseKey);
}
if (updateChangedTime) {
m_metadata->setMasterKeyChanged(Clock::currentDateTimeUtc());
m_metadata->setDatabaseKeyChanged(Clock::currentDateTimeUtc());
}
if (oldTransformedMasterKey.rawKey() != m_data.transformedMasterKey->rawKey()) {
if (oldTransformedDatabaseKey.rawKey() != m_data.transformedDatabaseKey->rawKey()) {
markAsModified();
}
@@ -908,16 +908,16 @@ bool Database::changeKdf(const QSharedPointer<Kdf>& kdf)
Q_ASSERT(!m_data.isReadOnly);
kdf->randomizeSeed();
QByteArray transformedMasterKey;
QByteArray transformedDatabaseKey;
if (!m_data.key) {
m_data.key = QSharedPointer<CompositeKey>::create();
}
if (!m_data.key->transform(*kdf, transformedMasterKey)) {
if (!m_data.key->transform(*kdf, transformedDatabaseKey)) {
return false;
}
setKdf(kdf);
m_data.transformedMasterKey->setHash(transformedMasterKey);
m_data.transformedDatabaseKey->setHash(transformedDatabaseKey);
markAsModified();
return true;

View File

@@ -130,7 +130,7 @@ public:
QSharedPointer<Kdf> kdf() const;
void setKdf(QSharedPointer<Kdf> kdf);
bool changeKdf(const QSharedPointer<Kdf>& kdf);
QByteArray transformedMasterKey() const;
QByteArray transformedDatabaseKey() const;
static Database* databaseByUuid(const QUuid& uuid);
@@ -164,7 +164,7 @@ private:
CompressionAlgorithm compressionAlgorithm = CompressionGZip;
QScopedPointer<PasswordKey> masterSeed;
QScopedPointer<PasswordKey> transformedMasterKey;
QScopedPointer<PasswordKey> transformedDatabaseKey;
QScopedPointer<PasswordKey> challengeResponseKey;
QSharedPointer<const CompositeKey> key;
@@ -174,7 +174,7 @@ private:
DatabaseData()
: masterSeed(new PasswordKey())
, transformedMasterKey(new PasswordKey())
, transformedDatabaseKey(new PasswordKey())
, challengeResponseKey(new PasswordKey())
{
kdf->randomizeSeed();
@@ -185,7 +185,7 @@ private:
filePath.clear();
masterSeed.reset();
transformedMasterKey.reset();
transformedDatabaseKey.reset();
challengeResponseKey.reset();
key.reset();

View File

@@ -251,17 +251,17 @@ const Group* Metadata::lastTopVisibleGroup() const
return m_lastTopVisibleGroup;
}
QDateTime Metadata::masterKeyChanged() const
QDateTime Metadata::databaseKeyChanged() const
{
return m_masterKeyChanged;
}
int Metadata::masterKeyChangeRec() const
int Metadata::databaseKeyChangeRec() const
{
return m_data.masterKeyChangeRec;
}
int Metadata::masterKeyChangeForce() const
int Metadata::databaseKeyChangeForce() const
{
return m_data.masterKeyChangeForce;
}
@@ -474,7 +474,7 @@ void Metadata::setLastTopVisibleGroup(Group* group)
set(m_lastTopVisibleGroup, group);
}
void Metadata::setMasterKeyChanged(const QDateTime& value)
void Metadata::setDatabaseKeyChanged(const QDateTime& value)
{
Q_ASSERT(value.timeSpec() == Qt::UTC);
m_masterKeyChanged = value;

View File

@@ -96,9 +96,9 @@ public:
QDateTime entryTemplatesGroupChanged() const;
const Group* lastSelectedGroup() const;
const Group* lastTopVisibleGroup() const;
QDateTime masterKeyChanged() const;
int masterKeyChangeRec() const;
int masterKeyChangeForce() const;
QDateTime databaseKeyChanged() const;
int databaseKeyChangeRec() const;
int databaseKeyChangeForce() const;
int historyMaxItems() const;
int historyMaxSize() const;
CustomData* customData();
@@ -133,7 +133,7 @@ public:
void setEntryTemplatesGroupChanged(const QDateTime& value);
void setLastSelectedGroup(Group* group);
void setLastTopVisibleGroup(Group* group);
void setMasterKeyChanged(const QDateTime& value);
void setDatabaseKeyChanged(const QDateTime& value);
void setMasterKeyChangeRec(int value);
void setMasterKeyChangeForce(int value);
void setHistoryMaxItems(int value);
@@ -142,7 +142,7 @@ public:
/*
* Copy all attributes from other except:
* - Group pointers/uuids
* - Master key changed date
* - Database key changed date
* - Custom icons
* - Custom fields
* - Settings changed date