LINUX.ORG.RU

Алгоритм увеличения длины пароля

 ,


1

1

Короткие пароли легко запомнить, но они же легче и вычисляются.

Пробовал найти что-то, наподобие алгоритма или утилиты для расширения пароля. Что-то ничего не нагуглилось. Есть подобное? Чтобы имея короткий пароль, проводить шифрование как с длинным?

PS: Цель - не увеличить надёжность ключа, а предотвратить перебор.

Решение:

#!/bin/sh
#longpass.sh
#Depends: dash, coreutils

sname="LongPass"
sversion="0.20190319"
echo "$sname $sversion" >&2

tnocomp=""
tcomp="cut"
[ ! "$(command -v $tcomp)" ] && tnocomp="$tnocomp $tcomp"
tcomp="head"
[ ! "$(command -v $tcomp)" ] && tnocomp="$tnocomp $tcomp"
tcomp="sha512sum"
[ ! "$(command -v $tcomp)" ] && tnocomp="$tnocomp $tcomp"
if [ "x$tnocomp" != "x" ]
then
    echo "Not found:${tnocomp}!" >&2
    echo "" >&2
    exit 1
fi
length=128
sec="0000"
fhlp="false"
while getopts ":l:s:h" opt
do
    case $opt in
        l) length="$OPTARG"
            ;;
        s) sec="$OPTARG"
            ;;
        h) fhlp="true"
            ;;
        *) echo "Unknown option -$OPTARG"
            exit 1
            ;;
    esac
done
shift "$(($OPTIND - 1))"
pass="$1"
if [ "x$pass" = "x" -o "x$fhlp" = "xtrue" ]
then
    echo "Usage:"
    echo "$0 [options] password"
    echo "Options:"
    echo "    -l N    length longpass (default = 128)"
    echo "    -s str  security code (default = 0000)"
    echo "    -h      help"
    exit 0
fi

lpass="$pass$(echo ${pass}${sec} | sha512sum | cut -f1 -d' ')"

echo $lpass | head -c $length
echo ""
Deleted

Последнее исправление: Deleted (всего исправлений: 4)

Если противник узнает тот алгоритм, то пароль для него снова станет коротким. Обычно считается что нельзя увеличивать безопасность криптосистемы скрывая алгоритм. Скрытым должен быть только ключ. Хз, как там в твоем случае, но я все же советую не полагаться на это.

vlad9486
()

наподобие алгоритма или утилиты для расширения пароля

Зачем мучаться? Вот тебе надёжный пароль: OWAmf42mfKFLohfa. Пользуйся им везде.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

сюда бы еще иероглифав добавить но не все их принимают, да и пару емодзи тоже бы в тему оказались :)

Deleted
()
Ответ на: комментарий от TheAnonymous

алсо

Интересное чтиво. А какие то утилиты есть, типа:

$ unknow -L 128 "mypassword"

И пожалуйста, твой пароль расширен до 128 знаков? Но, чтоб именно расширен. Чтобы его не надо было запоминать.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от slowpony

я не понял, что в них особенного, а точнее в их количестве получается?

Deleted
()
Ответ на: комментарий от Deleted

одно знаю, если в софт есть уязвимасти о которых каждый квартал рассказывают в смях, то никакие пороли не помогут, какой бы длины они не были, а уезвимастей там пруд еще пруди и покуда все либы, жылезки, коды не прогонят через квант на предмет устранения потенциальных уезвимастей расчитывать на что то секурное со стопроцентной уверенностью я не могу, а вот потом только смогу.

Deleted
()
Ответ на: комментарий от Deleted

никакие пороли не помогут, какой бы длины они не были

Задача всего лишь предотвратить перебор. Не более того.

Deleted
()
Ответ на: комментарий от Deleted

тогда результат он получит через не год а через два, понял.

проще думаю, если не трудно просто менять его раз в месяц или пол года и с длиной 18+ знаков, получится даже лучше наверное, но все равно удлинять придется я так понял, вот с удлинением не подскажу сарян.

Deleted
()
Ответ на: комментарий от Deleted

Может быть все же keepass? Иначе, ну костыльни однострочник, который будет по известному тебе алгоритму из «длины» и «слова» давать «пароль» (можно битовым xor с iso убунты, например).

slowpony ★★★★★
()
Ответ на: комментарий от Deleted

вот с удлинением не подскажу сарян.

Понял.

Deleted
()
Ответ на: комментарий от slowpony

можно битовым xor с iso убунты, например

Кстати, а как это стандартными утилитами сделать? Спрашивал. Никто не ответил. А так то да, как вариант.

Deleted
()

Придумай мастер-пароль и вычисляй sha256(master_password || sha256(master_password || short_password)). На основании получившегося числа генерируй пароль (например через base64).

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

вычисляй sha256 ... генерируй пароль (например через base64)

Как вариант. Но битовый xor с чем-нибудь мне нравится больше. Только как сделать стандартными тулзами? Но если не найду ответ, тогда Ваш вариант.

Deleted
()
Ответ на: комментарий от i-rinat

Зачем мучаться? Вот тебе надёжный пароль: OWAmf42mfKFLohfa

Плюсую. Использую этот пароль везде, даже на ЛОРе, и ещё ни разу не ломанули!

theNamelessOne ★★★★★
()
Ответ на: комментарий от Deleted

Человеческий мозг довольно плохой генератор случайных последовательностей, месяца через три все хорошие варианты иссякнут.

luke ★★★★★
()
Ответ на: комментарий от Deleted

Но битовый xor с чем-нибудь мне нравится больше.

В таком случае зачем бы обращаешься за помощью, если тебя волнует не то, как правильно, а то — как больше нравится?

anonymous
()
Ответ на: комментарий от theNamelessOne

Мочераторы! Тут пароль выложил, баньте суицидника!

anonymous
()

Цель - не увеличить надёжность ключа, а предотвратить перебор.

Никто пароли уже давно переборами не взламывает. Пароли либо тырят сразу базами с сервера, либо фишингом/кейлоггером от юзера, либо пробивают по базам типа такой. Все эти бредни про смесь бокоф/цифор — все это безопасники пишут от нечего делать. Когда придет время, твой пароль утырят целиком, со всеми его буковами, циферами и подчеркиваниями.

morse ★★★★★
()
Ответ на: комментарий от morse

Ты это расскажи кали юзерам, которые сюда каждую неделю приходят с вопросом, че у них вайфай не работает.

anonymous
()
Ответ на: комментарий от morse

уже давно переборами не взламывает

Дельно. Дельно. Но хоть, чтобы безопасников заткнуть, что-нибудь такое. Не?

PS: Или так. Безопасники хранят только короткие пароли. Их тырят. А вводить надо длинные. Не?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

base64 -di

Если тебе нужен хэш в бинарном виде, то | cut -f1 -d' ' | xxd -r -p
sha512sum выдаёт результат в обычном hex, а не base64

TheAnonymous ★★★★★
()
Последнее исправление: TheAnonymous (всего исправлений: 1)
Ответ на: комментарий от Legioner

На выходе у тебя всё равно единственный пароль, который может утечь точно так же. Не в уме же ты его будешь вычислять. Буфер обмена, мб где-то сохранишь или не в то поле вставишь.

WitcherGeralt ★★
()
Ответ на: комментарий от deadNightTiger

Diceware еще не порекомендовали?

EFF - это генератор паролей. А нужен расширитель. То есть расширенный пароль должен получаться один и тот же для исходного короткого и некого доп. параметра.

$ unknow -l 256 -s 1234 "mypassword"
Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от deadNightTiger

А это идея. Только использовать нужно base36, реально быстро и удобно получится делать пароль. Главное не забывать что энтропии там 5 плюс чуть-чуть бит на символ, а не 6, как в base64.

vlad9486
()
Ответ на: комментарий от luke

Человеческий мозг довольно плохой генератор случайных последовательностей

не думаю так, вот чловек, со всеми его предикатами в том числе и мосгом, это да, такой себе генератор, даже если с закрытыми глазами натыкивать по клаве случайные последовательности, длиною до 50 символов, нормальная нейросеть думаю быстро, теоретически имея какие то данные о чловеке этом подключившись к датам всевозможным буковским углавским и прочим, прочикает алгоритм настукивания очень быстро. но это не значит что чистый мосг не важный гениратор, мосг, мне вообще думается это орган с потенциальным квантовым уровнем функционирования и если его взять в чистом виде в отсутствии чловека, который его обычно носит, то он вполне себе сможет творить чудеса с поставленными задачами а точнее с их решениями. но без чловека он скучен так то и не смотря на всю мосчь с человеком к нему прикрепленным он все же имеет более масштабные перспективы ежели без него не смотря нато что без него он тоже на что то годится.

Deleted
()
Ответ на: комментарий от MyTrooName

моет и пятьдесят, смотря чем чекать и что, какое количество кубит требуется например что бы перебрать все варианты за 3 секунды на квантовой системе, которой дают то делоть?

Deleted
()
Ответ на: комментарий от Legioner

Если он утечёт, остальные пароли не утекут

Для этого нужно не hmac а pbkdf, и чтобы он несколько секунд процессора жрал.

DonkeyHot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.