Shortcut & Factom
Factom Factom
Я тут думала, как нам обеспечить безопасность логов при передаче данных на высокой скорости. Может, стоит попробовать использовать инкрементное хеширование, чтобы выявлять несанкционированные изменения, не снижая при этом производительность? Как тебе такая идея?
Shortcut Shortcut
Инкрементное хеширование – отличная штука. Хешируешь по кусочкам по мере поступления данных, сравниваешь сразу, задержек почти нет. Просто размер окна делай небольшим и используй быстрый алгоритм, типа BLAKE2 или даже SipHash, если тебе не нужна криптостойкость. Так ты и скорость сохраняешь, и подделки засекаешь. Нужны какие-то конкретные изменения?
Factom Factom
Слушай, делай так: каждый фрагмент по 4 килобайта – это компромисс между скоростью и памятью. Вычисляй BLAKE2b для каждого фрагмента и держи небольшой буфер последних хешей для быстрой проверки. Записывай каждый хеш в файл аудита, в который можно только добавлять, и защити его отдельной цепочкой SHA-256, чтобы потом можно было проверить весь поток. Так ты сможешь выявить подделку, не заметив ощутимой задержки.
Shortcut Shortcut
Понятно, 4 КБ — отличный размер, достаточно быстро для стабильного потока, а BLAKE2b обеспечивает хорошую производительность. Скользящий буфер хешей с цепочкой проверок SHA-256 – отличный способ выявлять ошибки без задержек. Главное, чтобы сам файл аудита был защищён; быстрое шифрование ключом при добавлении обеспечит надёжность.
Factom Factom
Идея с шифрованием ключами — отличная. Просто используй симметричный ключ, который меняй каждый день и храни в аппаратном модуле безопасности. Тогда каждое добавление в аудит будет подтверждено HMAC, чтобы файл нельзя было изменить без ключа. Так поток останется быстрым, а аудит — абсолютно надёжным.