Тип работы:
Предмет:
Язык работы:


Децентрализованная система аутентификации

Работа №130618

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы78
Год сдачи2017
Стоимость4230 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
22
Не подходит работа?

Узнай цену на написание


Введение​.
Постановка задачи​
Обзор литературы​
Глава 1. Подходы к аутентификации​
1.1 Хранение паролей в незашифрованном виде на стороне поставщика
услуг​
1.2. Хранение паролей в зашифрованном виде на стороне поставщика услуг
1.3 OAuth, OpenID​
1.4 Mozilla Persona​
1.5 Системы аутентификации, основанные на blockchain​ .
1.5.1 Blockstack​
1.5.2 uPort​
1.5.3 EMCSSL​
1.6 Заключение​.
Глава 2. Архитектура системы​
2.1 Обзор
2.2 Инфраструктура Blockstack​
2.2.1 Введение​
2.2.2 Virtualchain​
2.2.3 Blockstack Core​
2.2.4 Blockstack Portal​
2.2.5 Onename​.
2.3 Python-библиотека​
2.4 Django-приложение​
Глава 3. Реализация протокола аутентификации Blockstack​.
3.1 Обзор​.
3.2 Термины​
3.3 Процесс аутентификации​
3.3.1 Со стороны пользователя​
3.3.2 Со стороны приложения​.
3.4 blockchainauth​
3.4.1 Описание​
23.4.2 Запрос на аутентификацию​
3.4.3 Ответ на запрос аутентификации​
3.5 django-blockstack​
3.5.1 Описание​.
3.5.2 Части приложения​
3.5.3 Установка​.
3.6 Сайт​ . .
Глава 4. Анализ решения​
4.1 Введение​ .
4.2 Универсальность​.
4.3 Безопасность​.
4.4 Децентрализованность​.
4.5 Недостатки и возможности их преодоления​ .
Выводы​.
Заключение​
Приложение​
Фрагменты кода blockchainauth​
Класс AuthRequest​.
Класс AuthResponse​
Фрагменты кода django-blockstack​.
Authentication Backend​
Функция fetch_profile​
Views​.
Формат профиля пользователя​
Список литературы​ . .

Одним из краеугольных камней информационной безопасности является вопрос аутентификации, то есть проверки подлинности одной из сторон информационного обмена. Традиционно аутентификация вызывает множество сложностей как у обычных пользователей, так и у компаний, запрашивающих подтверждение у пользователей. Неполный список этих проблем включает в себя потери паролей, кражи аккаунтов, утечки пользовательских данных.
С аутентификацией также неразрывно связана более широкая проблема идентификации, то есть наличия у человека законной личности — набора персональных данных о человеке как субъекте права, его правах и обязанностях. Согласно некоммерческой организации ID2020, проводящей ежегодные конференции в штаб-квартире ООН, одна пятая населения Земли живёт без надёжного способа идентифицировать себя, таким образом выпадая из правового поля и становясь уязвимыми для вовлечения в криминальную деятельность [1].
Для большинства людей на данный момент самый главный способ удостоверить свою личность — это паспорта, выдаваемые государственными органами. При этом один и тот же человек может быть гражданином нескольких стран и иметь несколько идентифицирующих документов, а следовательно — несколько личностей.
Возникает ещё больше сложностей, когда речь заходит об электронной идентификации. Многие поставщики услуг в сети Интернет требуют регистрации, хранения пользовательских данных на своих серверах. Каждый такой аккаунт вносит вклад в раздробленность личностей. Возникает обоснованное желание разработать единый механизм пользовательской идентификации и аутентификации. И такие механизмы уже есть; главная их проблема в том, что среди них нет однозначно глобального и универсального, а главное — прозрачного. Такие механизмы, как правило, полностью полагаются на какую-либо коммерческую организацию, которой мы доверяем свои данные и электронные личности. В данной работе будут рассмотрены уже
существующие решения для единой аутентификации пользователей и предложим альтернативный вариант на базе технологии blockchain, призванной устранить зависимость от одной удостоверяющей компании и децентрализовать механизм выдачи законных личностей в сети Интернет.
Постановка задачи
Целью данной работы является разработка для сети Интернет единой и универсальной системы идентификации и аутентификации, удовлетворяющей критериям, сформулированным ниже. Под системой идентификации будем понимать:
● Хранилище личностей​, каждая из которых ассоциируется с определённым реальным человеком.
● Способ​, которым человек может доказать владение этой личностью (аутентификация).
Под системой аутентификации будем понимать набор следующих структур:
● Хранилище данных​, в котором содержатся зашифрованные персональные данные пользователей и их публичные ключи.
● Узлы сети​, обслуживающие хранилище данных и отвечающие за логику процесса аутентификации.
● Легковесное ​приложение-клиент​, способное принимать и подтверждать
запросы на аутентификацию, связанные с конкретной личностью.
● Протокол​, по которому взаимодействуют перечисленные выше части системы.
● Библиотеки​, с помощью которых разработчик легко сможет встроить аутентификацию по протоколу на свой сайт.
Вместе с этим представленная здесь система идентификации и аутентификации должна отвечать следующим критериям:
6● Универсальность: ​имея личность в данной системе, человек должен иметь возможность аутентифицироваться на любом подключенном к системе веб-сайте.
● Безопасность: ​пользователи сами контролируют безопасность доступа к своим именам и не зависят от политик безопасности третьих сторон.
● Децентрализованность: ​ни одно физическое или юридическое лицо не может единолично контролировать систему и процесс аутентификации пользователей. Владение именем подтверждается или отвергается на основе коллективного решения участников сети. Ни один узел не является точкой отказа.
Поэтому в задачи работы входит:
1. Анализ существующих протоколов аутентификации, их преимуществ и недостатков.
2. Подбор подходящего протокола аутентификации и имеющейся инфраструктуры (если такая у него имеется): хранилище личностей, хранилище данных, узлы сети, приложение-клиент.
3. Разработка библиотек разработчика и распространение их по каналам Open Source.
4. Разработка тестового сайта, использующего систему аутентификации.
5. Анализ решения на указанные выше критерии.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках данной работы были получены следующие результаты:
1. Проанализированы существующие протоколы аутентификации, их преимущества и недостатки. Был выделен класс наиболее перспективных протоколов на базе технологии блокчейн.
2. Был выбран для изучения один конкретный протокол из системы Blockstack, использующий ранее разработанную инфраструктуру: хранилище личностей в блокчейне, узлы сети, приложение-клиент. Были
изучены его возможности, достоинства и недостатки, подробно рассмотрено его применение в аутентификации пользователей.
3. Были разработаны две библиотеки на языке Python: blockchainauth и django-blockstack. Обе библиотеки пригодны для лёгкой интеграции системы аутентификации Blockstack на веб-сайты.
4. Был разработан тестовый сайт, в полной мере использующий библиотеки blockchainauth и django-blockstack.
5. Система была подробно изучена, были рассмотрены проблемы существующих систем аутентификации и как она их преодолевает. Были изучены недостатки самого протокола Blockstack и как они частично
решаются с помощью разработанных библиотек. Сформулированные задачи были выполнены в полном объеме.
Поставленные цели были достигнуты


[1] Официальный веб-сайт ID2020. — URL: ​http://id2020.org/
[2] B. Kaliski. PKCS #5: Password-Based Cryptography Specification Version 2.0 //
RFC 2898​. — 2000. — С. 9—11
[3] Microsoft Building Open Blockchain-Based Identity System With Blockstack,
ConsenSys, Bitcoin Magazine. — URL:
https://bitcoinmagazine.com/articles/microsoft-building-open-blockchain-based-id
entity-system-with-blockstack-consensys-1464968713
[4] Introducing the Blockstack Identity System, Blockstack blog. — URL:
https://blockstack.org/blog/introducing-the-blockstack-identity-system
[5] Dr. Christian Lundkvist, Rouven Heck, Joel Torstensson, Zac Mitton, Michael
Sena. UPORT: A PLATFORM FOR SELF-SOVEREIGN IDENTITY. — URL:
https://whitepaper.uport.me/uPort_whitepaper_DRAFT20170221.pdf​ — С. 2
[6] Andreas M. Antonopoulos. Mastering Bitcoin: Unlocking digital currencies. —
"O’Reilly Media, Inc." — 2014.
[7] Погружение в технологию блокчейн: Децентрализованная беспарольная
система безопасности. Хабрахабр, блог компании Microsoft. — URL:
https://habrahabr.ru/company/microsoft/blog/316864/
[8] EMCSSL – Система идентификации пользователей WWW на основе
подсистемы NVS криптовалюты EmerCoin и децентрализованных
клиентских SSL-сертификатов. Хабрахабр. — URL:
https://habrahabr.ru/post/257605/
[9] Официальный сайт Remme. — URL: ​http://remme.io/
[10] Blockstack | AgenlList. — URL: ​https://angel.co/blockstack
75[11] Blockstack - Intro, официальный сайт Blockstack. — URL:
https://blockstack.org/intro
[12] Muneeb Ali, Jude Nelson, Ryan Shea, Michael J. Freedman. Bootstrapping Trust
in Distributed Systems with Blockchains // ;login: — VOL. 41, NO. 3 — 2016. —
С. 56
[13] Blockstack, Onename, and future applications - Identity - Blockstack Forum.
URL —
https://forum.blockstack.org/t/blockstack-onename-and-future-applications/529
[14] Muneeb Ali, Jude Nelson, Ryan Shea, Michael J. Freedman. Blockstack: A
Global Naming and Storage System Secured by Blockchains // 2016 USENIX
Annual Technical Conference. — 2016. — С. 188
[15] Diploma project about Blockstack authentication protocol, Blockstack forum. —
URL:
https://forum.blockstack.org/t/diploma-project-about-blockstack-authentication-pr
otocol/850
[16] Library for scanning blockchains and running Blockstack state engines, Github.
— URL: ​https://github.com/blockstack/virtualchain
[17] Muneeb Ali, Jude Nelson, Ryan Shea, Michael J. Freedman. Blockstack: A
Global Naming and Storage System Secured by Blockchains // 2016 USENIX
Annual Technical Conference. — 2016. — С. 184—186
[18] OP_RETURN Stats. — URL: ​http://opreturn.org
[19] The reference implementation of Blockstack, Github. — URL:
https://github.com/blockstack/blockstack-core
[20] The Blockstack Browser Portal, Github. — URL:
https://github.com/blockstack/blockstack-portal
[21] JSON Web Tokens, jwt.io — URL: ​https://jwt.io
76[22] Web framework rankings, HotFrameworks — URL: ​http://hotframeworks.com/
[23] Sony hacked yet again, plaintext passwords, e-mails, DOB posted, Ars Technica
— URL:
https://arstechnica.com/tech-policy/2011/06/sony-hacked-yet-again-plaintext-pass
words-posted/
[24] LinkedIn suffers data breach - security experts, Reuters — URL:
http://in.reuters.com/article/linkedin-breach-idINDEE8550EN20120606
[25] Yahoo Hack: 1bn accounts compromised by biggest data breach in history, The
Guardian — URL:
https://www.theguardian.com/technology/2016/dec/14/yahoo-hack-security-of-one
-billion-accounts-breached
[26] 1 Million Gmail Users Impacted by Google Docs Phishing Attack, Treatpost —
URL:
https://threatpost.com/1-million-gmail-users-impacted-by-google-docs-phishing-at
tack/125436/
[27] Причиной недавней фишинговой атаки «Google Docs» стала уязвимость в
OAuth, обнаруженная 6 лет назад, Tproger — URL:
https://tproger.ru/news/google-docs-phishing-foretold-oauth/
[28] Customer Identity Preference Trends Q2 2016, LoginRadius — URL:
https://blog.loginradius.com/2016/08/customer-identity-preference-trends-q2-2016
/
[29] Number of Facebook users worldwide 2008-2017, Statista — URL:
https://www.statista.com/statistics/264810/number-of-monthly-active-facebook-us
ers-worldwide/
77[30] Gmail Now Has More Than 1B Monthly Active Users, TechCrunch — URL:
https://techcrunch.com/2016/02/01/gmail-now-has-more-than-1b-monthly-active-u
sers/
[31] Facebook Connect Market Share and Web Usage Statistics, SimilarTech —
URL: ​https://www.similartech.com/technologies/facebook-connect
[32] Email Providers: Gmail the Clear Winner, Mailchimp blog — URL:
https://blog.mailchimp.com/major-email-provider-trends-in-2015-gmail-takes-a-re
ally-big-lead/
[33] Heartbleed, Wikipedia — URL: ​https://en.wikipedia.org/wiki/Heartbleed
[34] Alexandre Borges. How to perform a Heartbleed Attack — URL:
https://alexandreborgesbrazil.files.wordpress.com/2014/04/hearbleed_attack_versi
on_a_1.pdf
[35] Jun Wang, Mingyi Zhao, Qiang Zeng, Dinghao Wu, Peng Liu. Risk Assessment
of Buffer “Heartbleed” Over-read Vulnerabilities // 45th Annual IEEE/IFIP
International Conference on Dependable Systems and Networks. — 2015. — С.
557
[36] Jun Wang, Mingyi Zhao, Qiang Zeng, Dinghao Wu, Peng Liu. Risk Assessment
of Buffer “Heartbleed” Over-read Vulnerabilities. С. 559-560
[37] Global Bitcoin Nodes Distribution, Bitnodes — URL: ​https://bitnodes.21.co/

Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ