Полезна криптография за уеб и мобилни разработчици - това ще бъде една от темите на ТърновоКонф утре. Без да се задълбаваме в теория, ще разгледаме основните крипто инструменти - хеш, HMAC, подпис и (а)симетричен тайнопис и техни практични приложения като верификация на потребители, single-sign on, CSRF защита, автентикация към уеб интерфейси и прочие :)
Discover the Top 5 Tech Gadgets of 2015. These innovative technologies improve office efficiency and advance the possibilities in your office environment on a day-to-day basis.
Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложенийVitebsk Miniq
Презентация подготовлена по материалам выступления Максима Дадеркина на Vitebsk MiniQ #1 “Организация аутентифицированного доступа к web-приложениям и REST – средства, методы и протоколы” (29.01.2014).
Looking for the best Return on Education? Find out which schools lead to the highest salaries and how to ensure your dream career post-graduation. Four years is a long time and college is expensive, but these schools make it worth your while.
Discover the Top 5 Tech Gadgets of 2015. These innovative technologies improve office efficiency and advance the possibilities in your office environment on a day-to-day basis.
Обзор протокола OAuth 2.0. Способы внедрения в различные типы приложенийVitebsk Miniq
Презентация подготовлена по материалам выступления Максима Дадеркина на Vitebsk MiniQ #1 “Организация аутентифицированного доступа к web-приложениям и REST – средства, методы и протоколы” (29.01.2014).
Looking for the best Return on Education? Find out which schools lead to the highest salaries and how to ensure your dream career post-graduation. Four years is a long time and college is expensive, but these schools make it worth your while.
MOOCs, Automation, Artificial Intelligence and Pedagogical AgentsGeorge Veletsianos
Open courses are a sociocultural phenomenon. This phenomenon represents symptoms, responses, and failures facing Higher Education. In this talk, I examined open courses and MOOCs from a variety of angles and discussed the degree to which MOOCs have portrayed education as a product that can be packaged, automated, and delivered. Empirical research on the design and development of pedagogical and intelligent agents that may be used in MOOCs was also presented. More information here: http://www.veletsianos.com/2014/06/05/moocs-automation-artificial-intelligence-seminar/
<p>
[데브멘토 동영상]클라우드 컴퓨팅과 오픈소스2부 최종</p>
<p>
안재석PM/ KT종합기술원</p>
<p>
오픈소스를 기반으로 한 클라우드 플랫폼 기술개발 및 서비스 구축 업무 수행</p>
<p>
KT 종합기술원 기술개발실OSS Cloud Platform Project 마스터PM</p>
<p>
University of Texas at Austin 컴퓨터공학과 대학원 졸</p>
Mark Tuminello is a skilled financial expert who teaches finance and statistics courses at universities in the New York area. This is a list of American Universities, ranked by Forbes Magazine in July 2014.
If you are an aspirant design student, you have reasons to be thrilled because there is a great demand in the Indian business scenario for talented industrial, product and car designers. If pursuing design education in the most reputed design schools is your long-time dream, here is a list of the ‘Top 5 Design Schools in India’ you should aim for.
Hardware By the Numbers: O'Reilly Solid Keynote Renee DiResta
These are the slides for my Hardware by the Numbers Keynote at O'Reilly Solid. They create a narrative about the hardware startup ecosystem using quantitative data wherever possible.
BEST VIEWED HERE: https://presentate.com/noupside/talks/hardware-trends-hardware-by-the-numbers, on Presentate, which has my speaker notes alongside the content, and contains all sources and citations.
Симетрични и асиметрични алгоритми за криптиране на информацияKaloyan Kosev
1. Причини за криптирането на информация
2. Криптографията като наука
3. Криптиране и декриптиране на информация
4. Криптиране със симетричен ключ
5. Криптиране с асиметричен (публичен) ключ
6. Използвани източници
MOOCs, Automation, Artificial Intelligence and Pedagogical AgentsGeorge Veletsianos
Open courses are a sociocultural phenomenon. This phenomenon represents symptoms, responses, and failures facing Higher Education. In this talk, I examined open courses and MOOCs from a variety of angles and discussed the degree to which MOOCs have portrayed education as a product that can be packaged, automated, and delivered. Empirical research on the design and development of pedagogical and intelligent agents that may be used in MOOCs was also presented. More information here: http://www.veletsianos.com/2014/06/05/moocs-automation-artificial-intelligence-seminar/
<p>
[데브멘토 동영상]클라우드 컴퓨팅과 오픈소스2부 최종</p>
<p>
안재석PM/ KT종합기술원</p>
<p>
오픈소스를 기반으로 한 클라우드 플랫폼 기술개발 및 서비스 구축 업무 수행</p>
<p>
KT 종합기술원 기술개발실OSS Cloud Platform Project 마스터PM</p>
<p>
University of Texas at Austin 컴퓨터공학과 대학원 졸</p>
Mark Tuminello is a skilled financial expert who teaches finance and statistics courses at universities in the New York area. This is a list of American Universities, ranked by Forbes Magazine in July 2014.
If you are an aspirant design student, you have reasons to be thrilled because there is a great demand in the Indian business scenario for talented industrial, product and car designers. If pursuing design education in the most reputed design schools is your long-time dream, here is a list of the ‘Top 5 Design Schools in India’ you should aim for.
Hardware By the Numbers: O'Reilly Solid Keynote Renee DiResta
These are the slides for my Hardware by the Numbers Keynote at O'Reilly Solid. They create a narrative about the hardware startup ecosystem using quantitative data wherever possible.
BEST VIEWED HERE: https://presentate.com/noupside/talks/hardware-trends-hardware-by-the-numbers, on Presentate, which has my speaker notes alongside the content, and contains all sources and citations.
Симетрични и асиметрични алгоритми за криптиране на информацияKaloyan Kosev
1. Причини за криптирането на информация
2. Криптографията като наука
3. Криптиране и декриптиране на информация
4. Криптиране със симетричен ключ
5. Криптиране с асиметричен (публичен) ключ
6. Използвани източници
Cryptography is bypassed, not penetrated!
The primary purpose of applying COBIT 5 to the transformation of cybersecurity is to enable a uniform governance, risk management and security management framework for enterprises and other organizations. The secondary purpose is to provide guidance on detailed concepts and steps in transforming cybersecurity, and to align them with the existing information security strategy and processes.
Focus on the fundamentals with a new strategy:
- Educate new hires about security;
- Train existing employees to be vigilant about phishing attacks;
- Increase the awareness of data security for everyone at the bank.
Как да контролираме достъпа до web API и други защитени ресурси посредством OAuth 2.0, и как да идентифицираме потребители с OpenID Connect. Лекцията е предназначена за уеб архитекти и програмисти, както и за всички разработчици, които искат да научат повече за новите уеб протоколи за авторизация и автентикация.
7. 1. Случайното число
Полезни приложения:
● Непредсказуеми
идентификатори
● CSRF защита
Внимаваме за:
● Ентропия на семенцата
● Достатъчно дъъъъъъъъълго
ли ни е случайното число?
● Периодично презасяване
import java.security.SecureRandom;
byte[] random = new byte[16];
SecureRandom.getInstance("SHA1PRNG").nextBytes(random);
8. 2. Хеш функция
Криптографската хеш
функция е като
еднопосочна улица.
Връщането назад не е
желателно. Който все
пак успее печели един
биткойн :-)
9. 2. Хеш функция
Полезни приложения:
● За проверка че не са ни барали
данните в съхраниение /
съобщенията в транзит
● За извеждане на ключове от
пароли
Внимаваме за:
● Ползваме достатъчно дълъг
хеш (SHA-256+) за избягване на
колизии. MD5 е отживял!
● Смесваме със солчица за
предпазваме от речникови атаки
import java.security.MessageDigest;
byte[] hash = MessageDigest
.getInstance("SHA-256")
.update(saltBytes)
.digest("Hello world!".getBytes("UTF-8"));
10. 3. HMAC
Код за автентикация
и проверка целостта
на данна или
съобщение. Кодът
се генерира и
проверява с таен
ключ. Не, това не е
електронен подпис!
HMAC = Hash-based Message Authentication Code
11. 3. HMAC
Полезни приложения:
● Потвърждение на email адрес
при регистрация на
потребител
● Уеб и мобилни сесии без база
на сървъра
● Сигурно обвързване на заявки
с обратни обаждания през
браузъра (OAuth callback)
● Алтернатива на HTTP Basic
автентикация, без споделяне
на тайната парола
Важно:
● Достатъчно дъъъъъъъълъг
ли ни е HMAC ключа?
256+ бита
● Внимаваме някой да не ни
гепи HMAC ключа! Всеки
който има достъп до него
може да създава кодове за
автентикация
● Важно: HMAC няма силата
на цифров подпис!
12. 4. JOSE / JWT
● Улеснява живота на разработчиците на уеб, JavaScript, мобилни и
IoT приложения, които се нуждаят от HMAC, цифрови подписи и
шифриране на данни и съобщения
● URL-безопасен формат (Base64URL) за предаване на защитени
обекти и токени чрез HTTP връзки, форми и заглавия
● RFC 7515, 7516, 7517, 7518, 7519, 7520
JSON заглавие Товарен отсег
HMAC / RSASSA /
ECDSA
{''alg'':''HS256''} Hello World! xxxxxxxxxxxxx
14. 4. Java библиотеката за
JOSE/JWT
● HMAC, RSA / EC подписи +
шифриране и куп други крипто
чудесии под Java
● Работи в приложения
обслужващи над 70 милиона
потребители в мрежата
(OpenID Connect, OAuth)
● Десетки зубъри поддръжници
и тестери
● 100% документирана
● С отворен код и Apache 2.0
лиценз
http://connect2id.com/products/nimbus-jose-jwt
15. 5. Код за email потвърждение
// Message: {''sub'':''alice'',''exp'':1449237518}
byte[] macKey = new byte[32];
SecureRandom.getInstance("SHA1PRNG").nextBytes(macKey);
JWTClaimsSet claims = new JWTClaimsSet.Builder()
.subject("alice")
.expirationTime(new Date(new Date().getTime() + 10*60*1000))
.build();
SignedJWT jwt = new SignedJWT(new JWSHeader(JWSAlgorithm.HS256), claims);
jwt.sign(new MACSigner(macKey));
assertTrue(jwt.verify(new MACVerifier(macKey)));
// eyJhbGciOiJIUzI1NiJ9.SGVsbG8gd29ybGQh.Dby-zS1BF21apXtsukTokzcU22dbXT38hx2H-R2A3G8
16. 6. Цифров подпис
Доста по-
функционален от
обикновения подпис.
Идентифицира лицето
подписало документа
и също гарантира
неговата цялост.
17. 6. Цифров подпис
Полезни приложения:
● Удостоверяване на
документи, токени и
съобщения
● Билет за вход (OpenID
Connect - Identity token)
● Билет за достъп до уеб
API (OAuth 2.0 bearer
access token)
Внимаваме за:
● RSA ключ поне 1024 бита,
по-добре 2048
● Пазим надеждно частния
клюс, с който се подписват
съобщенията
● Периодично сменяме
ключовете (ротация)
● Не използваме един и същ
RSA / EC ключ за
подписване и шифриране