Syncseed-это модуль аутентификации, который использует синхронизированную систему вызова на основе семян для проверки подлинности пользователей. Семена генерируются с использованием CSPRNG для обеспечения непредсказуемости. Теперь Syncseed также содержит систему обмена семян, которая может использоваться в системе одноранговой связи через промежуточный доверенный авторитет (TA).
Алгоритм синхронизации теперь содержит дополнительный модуль - seed_exchange . Этот модуль содержит три вариации решения для динамической аутентификации сверстников к сверстнику с использованием Syncseed, что стало возможным благодаря алгоритму синхродированного обмена (SEA). Пожалуйста, обратитесь к примеру Readme в рамках syncseed/tests/Seed Exchange Example для получения дополнительной информации.
Чтобы интегрировать синхронизацию в ваш проект, выполните эти шаги:
pip install syncseedСерверная сторона:
# Initialize Syncseed
from syncseed . syncseed import SyncseedGenerator
gen = SyncseedGenerator ()
# Authenticate a user
if gen . authenticated ( user_seed , seed_value ):
# Update the seed
new_seed = gen . update_seed ()
print ( "Authentication successful!" )
else :
print ( "Authentication failed." )Клиентская сторона:
# Initialize Syncseed
from syncseed . syncseed import SyncseedGenerator
gen = SyncseedGenerator ()
# [Load syncseed configuration to match that of the server...]
# Assume 'user_seed' is the user's seed value stored in a file or database
user_seed = 123456789
# Generate the challenge value to transmit
seed_value = gen . get_expected_seed_value ( user_seed )В дополнение к процессу основной аутентификации, Syncseed предоставляет механизм для дальнейшего укрепления своего сопротивления против атак грубой силы. Периодически мутирование семян добавляет дополнительный уровень безопасности, что делает его более сложным для вредоносных актеров, чтобы поставить под угрозу учетные данные пользователя.
Цель мутации семян состоит в том, чтобы нарушить любую попытку систематически угадать или итерацию с помощью возможных комбинаций семян. Периодически мутируя семя, третьи стороны сорваны в своих усилиях по эксплуатации скомпрометированных семян клиента.
В производственной среде рассмотрите возможность включения функции mutate_seed , предоставленной Synceed в рабочий процесс вашего приложения. Эта функция инициирует мутацию в текущем значении семян, создавая новое семя, которое можно использовать в последующих попытках аутентификации.
Вот пример того, как вы можете использовать функцию mutate_seed :
import syncseed . syncseed as syncseed
# Initialize the syncseed generator
gen = syncseed . SyncseedGenerator ()
# Assume 'current_seed' is the current seed value you want to mutate
current_seed = 123456789
# Call the 'mutate_seed' function to perform a mutation on the seed
mutated_seed = gen . mutate_seed ( current_seed )
# Now 'mutated_seed' contains the result of the mutation
print ( f'Mutated Seed: { mutated_seed } ' )Интеграция мутации семян в стратегию безопасности вашего приложения повышает надежность синхронизации, способствуя более безопасному механизму аутентификации.
Fine-Tune Synceed для вашего приложения, настраивая его различные свойства:
seed_length : установите длину синхронизированного семени.challenge_rounds : Определите количество раундов вызовов для повышения безопасности.scramble_rounds : настроить раунды Scramble, чтобы сбалансировать безопасность и производительность.seed_value_lower_bound : Установите нижнюю границу для значений семян.seed_value_upper_bound : Установите верхнюю границу для значений семян.cha_cha_generator_rounds : отрегулируйте количество раундов генератора Чача.Для более подробного руководства для развертывания синхронизации см. В Руководстве по развертыванию синхронизации
Syncseed предлагает гибкость для оптимизации производительности на основе конкретных требований. Регулярно проверяйте и анализируйте время выполнения при различных конфигурациях, чтобы добиться оптимального баланса между безопасностью и производительностью. В папке syncseed/tests проекта вы найдете программу сравнительного анализа производительности для Syncseed. Не стесняйтесь настроить эту программу для оценки различных конфигураций. Кроме того, безопасность алгоритма может быть оценена с использованием теста генерации цикла, также доступной в той же папке. Этот тест позволяет вам определить количество уникальных семян, которые синхронизировали, могут генерировать перед образованием цикла со значениями семян.
Syncseed - это совместная работа, извлекая выгоду из обратной связи и вкладов сообщества. Ваши понимание и предложения высоко ценятся в продолжающемся улучшении этого модуля аутентификации. Не стесняйтесь поднимать проблемы, предлагать улучшения или вносить свой вклад в проект.
Этот проект лицензирован по лицензии MIT.
Кавин Мутузельван
Synceed's Github