В предыдущем комментарии я и описал как должно работать в том числе в браузере, разница только в получении идентификатора девайса, для браузера это будет скорее айди сессии, если злоумышленник получает доступ к системе, нет разницы, стащить куки/localStorage/indexeddb браузеров или данные приложения, разделение аксес и рефреш не защает от кражи доступа, этот подход минимизирует время использования этого доступа, даже в случае кражи рефреш токена, как писали в других тредах, от js защищают http-only cookie, access при этом ставится только для пути с апи, а рефреш только для одного метода апи с обновлением, защита токенов на клиенте и обработка на бекенде долняют друг друга, а не выбор что лучше.
Для аутентификации: 1. Пользовательно должен отсылать: логин, пароль и идентификатор устройста 2. Бекенд должен сохранить запись: id пользователя, идентификатор устройста, хеш refresh токена 3. Бекенд должен вернуть access/refresh токены с разным временем жизни, access < refresh
Время жизни access должно быть минимально, время жизни refresh задает через какое время неактивности надо заново аутентифицироваться. При приближении или истечении жизни access, клиент должен послать refresh token и получить новую связку, при этом старый refresh token должен инвалидироваться.
В случае компроментации access/refresh токенов, при попытке обновить токены злоумышленником, жертву должно выкинуть после истечения access токена, при повторной аутентификации все токены для идентификатора устройста должны инвалидироваться, что уже в свою очередь выкинет злоумышленника, либо на другом устройстве можно вручную вырубить скомпроментированнное устройство.
Задача refresh token не дать использовать постояно клон сессии устройства. Идентификатор устройста для веб версии может быть случайно сгенерен один раз.
Win 8.1 был попыткой хотфиса нового интерефейса, проблема была не только в замене меню пуск и появлении метро приложениях, в Win 8 десктоп должен был стать legacy режимом, он был сделан максимально несуразно как одно из полноэкранных метро приложений, в 8.1 попытались сделать десктоп основным, кое как вернули кнопку пуск. Вместе с провалом Windows RT(8 для арма) стал и не нужен tablet-first интерфейс, так что не удивительно, что в Win 10 вернулись к старому.
Кстати, интересный факт, примерно в то же время Google позволил запускать под Win 8 десктоп как в Chrome OS. И еще примерно в то же время Valve начал развивать Steam под линукс.
Хотелось бы простым и понятным для аудитории хабра техническим языком, а не маркетинговыми высказываниями с бесполезными картинками для привлечения инвесторов.
Централизованный блокчейн - это блокчейн Шредингера, пока не откроешь - не узнаешь есть ли он вообще))) С таким же успехом внутри может оказаться любая другая база.
В чистом виде отмазка, в блокчейн сетях форк может существовать только при поддержке пользователей. В данном случае децентрализованный протокол и должен обеспечивать безопасность пользователей сети, и именно его надо в первую очередь аудировать. Закрытые исходники не сильно вредят разработчикам, но еще была куча случаев когда это вредило конечным пользователям(офисные документы и другие проприетарные форматы, драйвера), кроме того стоит оговориться, что нет ничего хуже бесплатного закрытого ПО, если разработчик не получает прибыль явным способом, стоит ожидать сыр в мышеловке, тут хочется напомнить про приложение uTorrent, к счастью реализации торрентов небыли ограничены только им.
Никто не говорил про абсолютную безопасность, но шифрование в торе есть везде внутри сети, более того есть внятное описание и исходники реализации, есть понимание как и зачем работает луковая маршрутизация, не надо передергивать. Про утопию непонятно ничего, от слова совсем.
Bootstrap в p2p - это процесс нахождения хоть одного доступного узла сети, через который можно узнать информацию о других чтобы начать работать с этой сетью, это все конечно круто, но это ничего не говорит о том как в дальнейшем работает сеть.
Статью еще внимательно почитаю, но на первый взгляд там просто набор крутых фраз с указанием длины ключей, крутости их роутинга с учетом океанов, без какой-либо полезной конкретики. "The following diagram clearly demonstrates the entire process of multi-level message encryption." - если я правильно понял, данные шифруются ключами принимающего и получающего, и так же шифруются соединения между нодами, очень инновационно, ради этого надо было нарисовать с ходу непонятную диаграму. Как ноды решают к кому подключаться, как от конечной ноды скрывается кто делал запрос и наоборот?
Разве в Tor нет шифрования до входного узла? Выходной узел - отдельная история и он не используется когда идет соединение с внутренним *.onion ресурсом.
Tor пытались самыми изощренными способами обфусцировать, хватало не на долго. То что Utopia - "Неуловимый Джо" никак не делает его лучше, как только начнут пользоваться - начнутся те же проблемы.
Хорошо, допустим обратный маршрут в утопии отличается, звучит это хорошо, но надо понимать как работает протокол, я не специалист, но кажется луковая маршрутизация просто технически требует такой же обратный маршрут, тут могу ошибаться.
Но самый главный вопрос, почему С->D показан не зашифрованным? Мы же разумные люди и понимаем, что глупо рассматривать C как выходной узел в этом сравнении. Ну никто не отменял https only.
Говоря про гибридное ядро обычно подразумевают, что по крайней мере часть функционала может как с микроядром выполняться в пространстве пользователя. Линукс - монолитное ядро с поддержкой модулей, у которых нет стабильного ABI, поэтому каждый раз обновляя ядро надо пересобирать модули.
В предыдущем комментарии я и описал как должно работать в том числе в браузере, разница только в получении идентификатора девайса, для браузера это будет скорее айди сессии, если злоумышленник получает доступ к системе, нет разницы, стащить куки/localStorage/indexeddb браузеров или данные приложения, разделение аксес и рефреш не защает от кражи доступа, этот подход минимизирует время использования этого доступа, даже в случае кражи рефреш токена, как писали в других тредах, от js защищают http-only cookie, access при этом ставится только для пути с апи, а рефреш только для одного метода апи с обновлением, защита токенов на клиенте и обработка на бекенде долняют друг друга, а не выбор что лучше.
Многие неправильно понимают access/refresh token
Для аутентификации:
1. Пользовательно должен отсылать: логин, пароль и идентификатор устройста
2. Бекенд должен сохранить запись: id пользователя, идентификатор устройста, хеш refresh токена
3. Бекенд должен вернуть access/refresh токены с разным временем жизни, access < refresh
Время жизни access должно быть минимально, время жизни refresh задает через какое время неактивности надо заново аутентифицироваться. При приближении или истечении жизни access, клиент должен послать refresh token и получить новую связку, при этом старый refresh token должен инвалидироваться.
В случае компроментации access/refresh токенов, при попытке обновить токены злоумышленником, жертву должно выкинуть после истечения access токена, при повторной аутентификации все токены для идентификатора устройста должны инвалидироваться, что уже в свою очередь выкинет злоумышленника, либо на другом устройстве можно вручную вырубить скомпроментированнное устройство.
Задача refresh token не дать использовать постояно клон сессии устройства. Идентификатор устройста для веб версии может быть случайно сгенерен один раз.
Win 8.1 был попыткой хотфиса нового интерефейса, проблема была не только в замене меню пуск и появлении метро приложениях, в Win 8 десктоп должен был стать legacy режимом, он был сделан максимально несуразно как одно из полноэкранных метро приложений, в 8.1 попытались сделать десктоп основным, кое как вернули кнопку пуск. Вместе с провалом Windows RT(8 для арма) стал и не нужен tablet-first интерфейс, так что не удивительно, что в Win 10 вернулись к старому.
Кстати, интересный факт, примерно в то же время Google позволил запускать под Win 8 десктоп как в Chrome OS. И еще примерно в то же время Valve начал развивать Steam под линукс.
Звучит как отличный способ отстрелить себе ногу
Хотелось бы простым и понятным для аудитории хабра техническим языком, а не маркетинговыми высказываниями с бесполезными картинками для привлечения инвесторов.
Вы серьезно зарегистрировались чтобы написать это комментарий? [/sarcasm]
З.Ы. С такими душевными и непроплаченными отзывами утопия все больше попахивает.
В retroshare очень своеобразный подход к p2p, это довольно старый и самобытный проект, вряд ли они хоть чем-то похожи кроме наличия "Каналов".
Думаю стоит начать с другого, где гарантии что вообще есть безопасный протокол, которому нужны закладки?
Централизованный блокчейн - это блокчейн Шредингера, пока не откроешь - не узнаешь есть ли он вообще))) С таким же успехом внутри может оказаться любая другая база.
В чистом виде отмазка, в блокчейн сетях форк может существовать только при поддержке пользователей. В данном случае децентрализованный протокол и должен обеспечивать безопасность пользователей сети, и именно его надо в первую очередь аудировать. Закрытые исходники не сильно вредят разработчикам, но еще была куча случаев когда это вредило конечным пользователям(офисные документы и другие проприетарные форматы, драйвера), кроме того стоит оговориться, что нет ничего хуже бесплатного закрытого ПО, если разработчик не получает прибыль явным способом, стоит ожидать сыр в мышеловке, тут хочется напомнить про приложение uTorrent, к счастью реализации торрентов небыли ограничены только им.
Никто не говорил про абсолютную безопасность, но шифрование в торе есть везде внутри сети, более того есть внятное описание и исходники реализации, есть понимание как и зачем работает луковая маршрутизация, не надо передергивать. Про утопию непонятно ничего, от слова совсем.
Bootstrap в p2p - это процесс нахождения хоть одного доступного узла сети, через который можно узнать информацию о других чтобы начать работать с этой сетью, это все конечно круто, но это ничего не говорит о том как в дальнейшем работает сеть.
Статью еще внимательно почитаю, но на первый взгляд там просто набор крутых фраз с указанием длины ключей, крутости их роутинга с учетом океанов, без какой-либо полезной конкретики. "The following diagram clearly demonstrates the entire process of multi-level message encryption." - если я правильно понял, данные шифруются ключами принимающего и получающего, и так же шифруются соединения между нодами, очень инновационно, ради этого надо было нарисовать с ходу непонятную диаграму. Как ноды решают к кому подключаться, как от конечной ноды скрывается кто делал запрос и наоборот?
В данном случае сложно верить в технологию с закрытым кодом, если отсутствие исходников - это единственное, что ее защищает, то все очень плохо.
Разве в Tor нет шифрования до входного узла? Выходной узел - отдельная история и он не используется когда идет соединение с внутренним *.onion ресурсом.
Tor пытались самыми изощренными способами обфусцировать, хватало не на долго. То что Utopia - "Неуловимый Джо" никак не делает его лучше, как только начнут пользоваться - начнутся те же проблемы.
Хорошо, допустим обратный маршрут в утопии отличается, звучит это хорошо, но надо понимать как работает протокол, я не специалист, но кажется луковая маршрутизация просто технически требует такой же обратный маршрут, тут могу ошибаться.
Но самый главный вопрос, почему С->D показан не зашифрованным? Мы же разумные люди и понимаем, что глупо рассматривать C как выходной узел в этом сравнении. Ну никто не отменял https only.
Правильно ли я понимаю, по крайней мере в данном юзкейсе, Utopia - это как Tor, только закрытое и с платными доменами?
Если не ошибаюсь, в той же "Just for Fun" было написано, что появись 386BSD буквально на год раньше и линукса бы вероятно не было.
Говоря про гибридное ядро обычно подразумевают, что по крайней мере часть функционала может как с микроядром выполняться в пространстве пользователя. Линукс - монолитное ядро с поддержкой модулей, у которых нет стабильного ABI, поэтому каждый раз обновляя ядро надо пересобирать модули.
Правда не совсем свой, что даже к лучшему, это порт openssh, и даже сервер есть.
Расстановки по углам в гноме без расширений нет, но отлично работает разделение экрана по вертикали: Super+Left и Super+Right, на весть экран Super+Up