ASP.NET Core 1.0: OCHRANA CITLIVÝCH INFORMACÍ

Podobné dokumenty
Historie, současnost a budoucnost ASP.NET

PRAKTICKÁ KRYPTOGRAFIE PRO PROGRAMÁTORY V.NET

Středoškolská technika Encryption Protection System

Cryptelo je systém kompletně navržený a vyvinutý přímo naší společností. Aplikace šifrování do běžné praxe. Cryptelo chrání přímo vaše data

BEZPEČNÁ SPRÁVA KLÍČŮ POMOCÍ HSM. Petr Dolejší Senior Solution Consultant

- PC musí být připojené v lokální síti - je bezpodmínečně nutné, aby aplikace Outlook nebyla aktivní)

Bezpečnost v Gridech. Daniel Kouřil EGEE kurz 12. prosince Enabling Grids for E-sciencE.

I.CA RemoteSeal. Ing. Filip Michl První certifikační autorita, a.s

CASE MOBILE MOBIL JAKO AUTENTIZAČNÍ TOKEN

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack

[ASP].NET Core Demystified. Miroslav Holec. Konzultant a lektor [ASP].NET Core.

Identifikátor materiálu: ICT-2-04

Návod k instalaci S O L U T I O N S

Správa stanic a uživatelského desktopu

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 13

Extrémně silné zabezpečení mobilního přístupu do sítě.

SSL Secure Sockets Layer

Programové vybavení OKsmart pro využití čipových karet

Autentizace uživatelů

Šifrování flash a jiných datových úložišť

SIM karty a bezpečnost v mobilních sítích

ISSS Mgr. Pavel Hejl, CSc. T- SOFT spol. s r.o.

Podzim Boot možnosti

NÁVOD K INSTALACI SOLUTIONS

Komerční výrobky pro kvantovou kryptografii

Šifrování. Tancuj tak, jako když se nikdo nedívá. Šifruj tak, jako když se dívají všichni! Martin Kotyk IT Security Consultnant

Internet Information Services (IIS) 6.0

Použití aplikace OmniPass a čtečky otisku prstů

Úvod - Podniková informační bezpečnost PS1-2

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

WINDOWS Nastavení GPO - ukázky

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Šifrování (2), FTP. Petr Koloros p.koloros [at] sh.cvut.cz.

OKsmart a správa karet v systému OKbase

Tel.: (+420)

Vladimír

Certifikáty pro autentizaci PKI-SILNA-AUTENTIZACE (např. vzdálený přístup, MNP, P2000 ) Aktivace a obnova uživatelem

TÉMATICKÝ OKRUH Softwarové inženýrství

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

dokumentaci Miloslav Špunda

SODATSW Case Study 2009 Nasazení řešení Datový trezor ve společnosti CETELEM, a.s.


PSK2-16. Šifrování a elektronický podpis I

ISMS. Autentizace ve WiFi sítích. V Brně dne 5. a 12. prosince 2013

Směry rozvoje v oblasti ochrany informací PS 7

Elektronický podpis. Základní princip. Digitální podpis. Podpis vs. šifrování. Hashování. Jednosměrné funkce. Odesílatel. Příjemce

Andrew Kozlík KA MFF UK

Nejčastější dotazy pro řešení Symantec System Recovery 2011

CineStar Černý Most Praha

Bezpečnost internetového bankovnictví, bankomaty

Správa přístupu PS3-2

Část IV - Bezpečnost 21. Kapitola 19 Bezpečnostní model ASP.NET 23

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

PA159 - Bezpečnostní aspekty

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie

Použití čipových karet v IT úřadu

Instalujeme a zakládáme databázi Oracle Database 11g

Kryptografie založená na problému diskrétního logaritmu

Open Source a šifrování dat OFTE. Pavel Machula

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

AUTENTIZAČNÍ SERVER CASE BEZPEČNÁ A OVĚŘENÁ IDENTITA

Programátorské večery. Tomáš Herceg Microsoft Student Partner

Systémy pro ukládání autentizačních informací

Bezpečná autentizace přístupu do firemní sítě

Elektronické pasy v praxi. Zdeněk Říha

SODATSW Case Study 2009 Nasazení řešení Datový trezor ve společnosti Synthesia, a.s.

KAPITOLA 22. Autentizace Windows

Centrální portál knihoven

PV157 Autentizace a řízení přístupu

Bezpečnostní mechanismy

Výsledky bezpečnostního auditu TrueCryptu. Ing. Josef Kokeš. CryptoFest 2015

WCF. IW5 - Programování v.net a C# WCF

Příloha č. 12. Systém společného přihlašování, tzv. Single Sign On, ochrana dat

GnuPG pro normální lidi

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9

Bezpečnost elektronických platebních systémů

Artlingua Translation API

Synchronizace CRM ESO9 a MS Exchange

asymetrická kryptografie

Hesla a bezpečnost na internetu MjUNI 2019 Dětská univerzita,

Moderní komunikační technologie. Ing. Petr Machník, Ph.D.

CZ.1.07/1.5.00/

Bezpečnost vzdáleného přístupu. Jan Kubr

Technická bezpečnostní opatření nejen ve smyslu ZKB. Jan Zdvořáček ASKON International s.r.o.

SMART KARTY V LINUXU A PROČ BY VÁS MĚLY ZAJÍMAT JAKUB JELEN, RED HAT

EU-OPVK:VY_32_INOVACE_FIL13 Vojtěch Filip, 2014

ICZ - Sekce Bezpečnost

Vzdálená správa v cloudu až pro 250 počítačů

}w!"#$%&'()+,-./012345<ya

UKRY - Symetrické blokové šifry

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

API AIS ČR Technická specifikace

Bezpečnost SingleCase

Stručný návod k obsluze Nainstalujte ovladač GW-7100PCI pro Windows 98, ME, 2000 and XP

Instalace Microsoft SQL serveru 2012 Express

Počítačová bezpečnost prakticky

Desktop systémy Microsoft Windows

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP TCP/IP.

Transkript:

ASP.NET Core 1.0: OCHRANA CITLIVÝCH INFORMACÍ Michal Altair Valášek Development & Security Consultant Altairis, s. r. o. Microsoft Most Valuable Professional michal.valasek@altairis.cz ask.fm/ridercz

KRYPTOGRAFIE JE TĚŽKÁ PROTO JI NEDĚLEJTE SAMI, POKUD NUTNĚ NEMUSÍTE Pro více informací k tématu navštivte mé přednášky Praktická kryptografie pro programátory v.net ve čtvrtek

Obsah této přednášky Budeme se zabývat: Krátkodobou ochranou dat Typicky data roundtripovaná přes klienta Autentizační tickety, CSRF tokeny Chráněné cookies Vlastní využití, např. reset hesla nebo ověřené e-mailu Nebudeme se zabývat: Dlouhodobou ochranou dat Obecnými kryptografickými principy O tom více ve čtvrtek Praktická kryptografie pro programátory v.net První díl: 10:30-11:45 Druhý díl: 12:45-14:00

Co znamená ochrana dat Šifrování Utajení obsahu zprávy Pomocí symetrického algoritmu (AES) Elektronický podpis Možnost odhalit změnu zprávy Pomocí HMAC (Hash Message Authentication Code) Authenticated Encryption Téměř ve všech aplikacích potřebujete obojí! Samotné šifrování (bez podpisu) představuje bezpečnostní riziko!

Machine Keys Ochrana dat v ASP.NET 4.x

Co je MachineKey Dvojice klíčů určená ve web.configu pro validationkey elektronický podpis (HMAC) decryptionkey šifrování a dešifrování dat Lze je generovat automaticky AutoGenerate pro všechny aplikace tentýž AutoGenerate,IsolateApps různé klíče Doporučuji je nicméně specifikovat explicitně Generátor: http://chaos.aspnet.cz Třída System.Web.Security.MachineKey

Použití třídy MachineKey byte[] Protect(byte[] data, params string[] purposes) Zašifruje a podepíše data Předává se data účelů, která zabraňuje cross-attacku byte[] Unprotect(byte[] data, params string[] purposes) Dešifruje data a ověří jejich podpis Musí dostat stejnou sadu účelů, jako při Protect Pokud volání selže, vyhodí CryptographicException Účely slouží jako další sůl při vytváření podpisu

ASP.NET Data Protection API Ochrana dat v ASP.NET Core Nezaměňovat s Data Protection API (DPAPI) ve Windows!

Principy ASP.NET Data Protection API Z hlediska konzumenta je API velice podobné jako machine keys Metody Protect a Unprotect Mají byte[] i string variantu Nabízejí šifrování a podpis s pomocí purposes Přibyly nové možnosti Automatická rotace klíčů Automatické omezení životnosti payloadu Implementace je ale jiná Klíče jsou vesměs uchovávány ve file systému Zůstává zachována možnost zero konfigurace Budete se to toho rýpat zejména na webových farmách

demo Typické použití ASP.NET Data Protection API ve webové aplikaci

Konfigurace ASP.NET Data Protection API V drtivé většině případů jej nebudete sami konfigurovat Využívá ji infrastruktura ASP.NET Vy jenom využijete tuto konfiguraci pro své účely Injectujete si jej pomocí IoC/DI Pokud je to nutné, máte možnost Konfigurovat stávající providery Místo ukládání dat (typicky na webové farmě) Dodatečná ochrana dat v klidu (šifrování souboru na disku) Psát vlastní providery

demo Vlastní konfigurace a použití mimo DI scénáře

Omezení životnosti payloadu Interně se děje uložením času expirace do obsahu Lze použít s jakýmkoliv providerem Jeho timebombed verzi vytvoříte voláním metody ToTimeLimitedDataProtector Pokud platnost dat vypršela, vyhodí metoda Unprotect výjimku CryptographicException Používejte hojně, leč s rozumem Lepší je vázat platnost na nějakou nativní událost Časové omezení používejte jako záchrannou brzdu

demo Omezení životnosti payloadu

Nový systém ve starém.netu Nové Data Protection API lze využívat i ve starém.netu Podporována verze 4.5.1 NuGet balíček Microsoft.AspNet.DataProtection.SystemWeb Typické scénáře Sdílení dat mezi legacy a Core aplikacemi Chcete využít výhod typu automatické rotace klíčů Podrobnější informace: https://docs.asp.net/en/latest/security/data-protection/compatibility/replacing-machinekey.html

Jak je to s těmi účely Správné využití purposes

Derivace klíčů pomocí purpose strings Pro každý účel chceme použít samostatný klíč Aby nedošlo ke křížové kontaminaci Např. volným uživatelským vstupem To by ale byla maintenance nightmare Pročež klíče místo toho derivujeme z jednoho master klíče Potřebujeme deterministický postup který ale zachová dostatečnou entropii K tomu se používají purpose strings

Jak zvolit správný purpose string Tak, aby ho žádná jiná dobře vychovaná část aplikace (subsystém nebo komponenta) neměla stejný Není nutné jej tajit! Může být ve všech instancích aplikace stejný (natvrdo zadaný v kódu) Nesmí v úplnosti pocházet z uživatelem zadaných údajů (uživatel by ho mohl podvrhnout) Snažíme se o maximální fragmentaci Proto máme purposes a sub-purposes Klasičtí kandidáti na sup-purposes: uživatelské jméno, tennant ID, argument potvrzované operace

www.aspnet.cz www.rider.cz facebook.com/rider.cz twitter.com/ridercz ask.fm/ridercz dotazy? youtube.com/altairiscz michal.valasek@altairis.cz