Identity Days 2020 - Mettre en oeuvre AD-CS en respectant les meilleures pratiques
1. Merci à tous nos partenaires !
29 octobre 2020
@IdentityDays #identitydays2020
2. Mettre en œuvre AD-CS en
respectant les meilleures pratiques
Patrick ISAMBERT
patrick.isambert@exakis-nelite.com
29 octobre 2020
Identity Days 2020
3. Patrick ISAMBERT
Service Line Manager ‘Security &
Trust’ pour EXAKIS-NELITE
Expert, Architecte, Formateur sur
les technologies Microsoft
(Infrastructure, Identité, Comm.
Unifiées, Sécurité, Automation…)
Communauté PKILabs
Chargé de cours sur les technologies
Microsoft pour l’AFORP et l’AFTI en
ERE Cybersécurité (Titre 6, BAC+4)
• Vous avez dit PKI ?
• Meilleures pratiques d’installation des
services AD-CS avec Windows Server 2016
et versions ultérieures
• Débuter par une PKI minimale évolutive
• Comment procéder ?
• Questions
AGENDA DE LA CONFÉRENCE
29 octobre 2020
Identity Days 2020
4. Vous avez dit PKI ?
Identity Days 2020
29 octobre 2020
5. Une PKI quésako ? (1/2)
Une PKI ou infrastructure à clés publiques (ICP) ou encore infrastructure de
gestion de clés (IGC) est un ensemble comprenant :
• Des composants physiques (des ordinateurs, des équipements
cryptographiques logiciels ou matériel type Hardware Security Module ou
encore des cartes à puces),
• Des procédures humaines (distribution, responsabilités, vérifications,
validation)
• Des logiciels (système et application) destinés à gérer les clés publiques
(certificats) d'un système.
Une PKI permet de lier des clés publiques à des identités (comme des noms
d'utilisateurs ou d'organisations, de serveurs, de postes clients,…). Une PKI
fournit des garanties permettant de faire a priori confiance à une clé publique
obtenue par son biais.
Identity Days 2020
29 octobre 2020
6. Une PKI quésako ? (2/2)
On parle de gestion de «bi-clés»:
• La clé publique peut être distribuée sans risque en utilisant le certificat
• La clé privée doit impérativement être protégée et accessible
uniquement par le détenteur de l’identité
Le certificat est émis par une autorité de certification
• Il doit avant tout usage être vérifié (date de début, de fin, nom du
sujet, révocation,…)
Une PKI est aussi sécurisée que les stratégies et procédures mises en œuvre
le permettent
Identity Days 2020
29 octobre 2020
7. Besoin de PKI en environnement Windows (1/2)
Depuis Windows Server 2008, des services utilisent pour fonctionner des
certificats auto-signés
Services de bureau à distance et d’administration à distance par exemple,
De même pour certaines applications : Exchange depuis Exchange Server
2007
A l’inverse, d’autres exigent une PKI : Skype For Business Server
Les besoins de lutte contre la cybercriminalité exigent de plus en plus de
signature et de chiffrement :
Signature : garantit l’origine et la non altération de la donnée
Chiffrement : confidentialité de la donnée
Flux internes (IPSEC, SSL, TLS) , flux d’administration à distance, disques système et de données
Identity Days 2020
29 octobre 2020
8. Besoin de PKI en environnement Windows (2/2)
L’évolution des technologies de gestion de l’identité fait de
plus en plus appel à la cryptographie
Microsoft Passport pour la suppression du mot de passe par
exemple
Annonce du 11 Juin 2020 de l’éditeur Microsoft
Microsoft To Require TPM 2.0 and Secure Boot in New Windows
Server Hardware Next Year
Microsoft raises the security standard for next major Windows
Server release
Identity Days 2020
29 octobre 2020
9. Les éléments d’une PKI
Identity Days 2020
29 octobre 2020
1
DOCUMENTATIONS
FONCTIONNELLES
Les documentations fonctionnelles
décrivent le niveau de sécurité de
l‘entreprise (PSSI), les stratégies de
certificats (usage enrôlement) et les
pratiques de certification. Les usages des
clés sont aussi précisés. Enfin si nécessaire
une cérémonie des clés doit être définie
2
AUTORITÉS DE
CERTIFICATION
Les autorités de certification signent
l’ensemble des certificats émis. Elles
sont organisées dans une hiérarchie
dont les membres les plus proches de
la racine sont hors ligne (arrêtés et
hors réseau)
3
POINTS DE
PUBLICATION
ET RÉPONDEUR OCSP
Les points de publication permettent aux
clients utilisant des certificats de vérifier
leur validité au moment de leur
utilisation
4 APPLICATIONS
Les applications utilisent les
certificats émis par la PKI
5
SERVICES WEB DE
STRATÉGIES ET
D’ENRÔLEMENT
Les services web de stratégies et
d’enrôlement (CEP-CES) permettent
d’enrôler des certificats pour des
machines hors AD-DS mais aussi de
renouveler des certificats dont l’échéance
approche
6 SERVICE NDES
Les services NDES permettent d’enrôler
des certificats pour des périphériques
réseaux supportant le protocole Simple
Certificate Enrollment Protocol (SCEP).
Par exemple des éléments réseaux, des
imprimantes, des MDM
10. Hiérarchie d’autorités de certification
29 octobre 2020
AC racine
AC de stratégie
AC émettriceAC émettriceAC émettrice
AC racine
AC émettrices
AC racine
AC de
stratégie
AC émettrice AC émettrice AC émettrice
Hiérarchie à trois niveaux Hiérarchie à deux niveaux
Approbation de certification croisée
AC de stratégie
AC émettrice AC émettrice AC émettrice
AC racine
Hors Ligne
Hors Ligne
Hors Ligne
12. Sécurité des AC : Risques et facteurs d’atténuation
La clé privée (1/2)
La donnée la plus importante est la clé privée de l’autorité de
certification
Risques exposés
La clé privée peut tomber entre de mauvaises mains
Volée sur le disque dur ou par accès aux sauvegardes incluant les clés
privées
Volée par l’administrateur de virtualisation
Des certificats peuvent être délivrés à des demandeurs non autorisés
Identity Days 2020
29 octobre 2020
13. Sécurité des AC : Risques et facteurs d’atténuation
La clé privée (2/2)
Où sont stockées ces clés privées ?
Dans un boitier de sécurité
Hardware Security Module : C’est l’option idéale… mais couteuse
TPM : Pour des certificats attestés
Autrement
DPAPI chiffre les clés privées à l’aide du compte ordinateur local
Par défaut, les clés d’autorité de certification sont marquées comme
exportables
Elles sont présentent dans la mémoire de l’ordinateur hébergeant
l’autorité de certification
Identity Days 2020
29 octobre 2020
14. Sécurité des AC : Risques et facteurs d’atténuation
Fonctionnalités apportées par un HSM
Protection matérielle de ces clés privées
Système de cryptographie isolé
Elles ne sont pas exportables
Elles sont fortement protégées
Les opérations cryptographiques sont accélérées
Impose des contrôles supplémentaires chaque fois que la clé
privée de l’autorité est utilisée
Organisation de cérémonie des clés
Séparation des rôles
Possibilité d’utiliser plusieurs HSM reliés entre eux pour un
équilibrage de charge ou un cluster de basculement
Identity Days 2020
29 octobre 2020
15. Démonstration
• Ou sont stockées les clés privées dans Windows ?
• Comment les gérer ?
Les acquis de la démonstration
• Si elles ne sont pas protégées par un HSM, les clés privées sont en mémoire
durant l’exécution du service
• Les clés privées d’autorités sont par défaut exportables
• Si un certificat est supprimé, les clés privées peuvent rester présentes sur le
disque
• Désactiver l’exportation de la clé privée dans les modèles de certificats lorsque
cela est possible
Identity Days 2020
29 octobre 2020
16. Sécurité des AC : Risques et facteurs d’atténuation
Risques dus à une sauvegarde
Si un HSM n’est pas mis en œuvre
La sauvegarde de l'état du système de Windows Server 2012 et versions
ultérieures comprend les clés privées
Les sauvegardes de disque complet, basées sur l'image, les instantanés, ou
les points de contrôle incluent les clés privées
Facteurs d’atténuation (pour les sauvegardes incluant les clés
privées)
Mettre en œuvre un HSM (si possible)
Conserver la sauvegarde dans un conteneur inviolable et la placer dans un
coffre-fort à accès limité
Comme les clés d’autorités ne changent presque jamais, des sauvegardes
fréquentes ne sont pas nécessaires
Identity Days 2020
29 octobre 2020
17. Sécurité des AC : Risques et facteurs d’atténuation
Risques dus à la virtualisation des autorités
Si un HSM n’est pas mis en œuvre
Les administrateurs de virtualisation ont accès aux disques durs virtuels et donc aux clés
privées si les AC ne sont pas protégées par un HSM
Les instantanés / points de contrôle incluent les clés privées des autorités
Les machines virtuelles individuelles ne peuvent pas être exclues de la sauvegarde dans
de nombreux cas
Facteurs d’atténuation
Mettre en œuvre un HSM
Mettre en œuvre des autorités de certification physiques
Si virtualisée, dissocier l'autorité de certification du matériel hôte (autorités de
certification hors ligne uniquement) par exportation et suppression
Utiliser BitLocker pour chiffrer les disques durs de l’hôte
Identity Days 2020
29 octobre 2020
18. Sécurité des AC : Risques et facteurs d’atténuation
Autorités de certification hors ligne (1/2)
Elles doivent être vraiment hors ligne…
Elles n'ont pas d'interface réseau sur la production (ou pas du
tout).
Elles ne sont jamais jointes à un domaine Active Directory
Les CRL, certificats et demandes de certificats doivent être
copiés manuellement
Si installées physiquement, elle doivent être installées dans une
baie serveur sécurisée, si possible dédiée
Ou sur un matériel dédié mis dans un coffre entre deux utilisations
Utiliser des médias dédiés pour transférer des données
Identity Days 2020
29 octobre 2020
19. Sécurité des AC : Risques et facteurs d’atténuation
Autorités de certification hors ligne (2/2)
Mettez à jour le système d'exploitation avec les mises à jours de
qualité et toutes les mises à jour qui affectent le fonctionnement
logique de l'autorité de certification
Mettre en œuvre des actions d’audit de sécurité agressives
Utilisez BitLocker pour chiffrer les disques durs
Utiliser la méthode de protection module TPM + PIN (code
confidentiel)
Nécessite donc une puce TPM (ou vTPM si virtualisée)
Si la CA est virtualisée, cela exige Hyper-V 2016+ avec HGS
ou VMWare 6.7+ avec boitier(s) KMS
Mettre en œuvre un MCO automatique
Identity Days 2020
29 octobre 2020
20. Sécurité des AC : Risques et facteurs d’atténuation
Durcissement des systèmes
• Usage de l’interface minimale (mode core)
• Désactiver la lecture automatique des médias
• Renommer les comptes administrateur et invité
Ne pas réutiliser les mots de passe !
• Utiliser les lignes de base de sécurité du système
Désactiver les services non requis
Utiliser des modèles de sécurité validés comme référence
• Ne pas installer de rôles ou de logiciels supplémentaires
• Désactiver DMA
• Utiliser BitLocker pour chiffrer les disques durs
Utiliser la méthode de protection module TPM + PIN (code confidentiel)
Puis, dans un domaine, utiliser le déverrouillage réseau
Identity Days 2020
29 octobre 2020
21. Sécurité des AC : Risques et facteurs d’atténuation
Sécurisation des tâches d’administration distantes
• Restreindre l'accès à distance
Pas d’accès et d’administration en bureau distant,
• Restreindre la connexion interactive
• Désactiver l'authentification entrante LM et NTLM
• Utiliser les groupes de sécurité des utilisateurs protégés
• Ne pas oublier les canaux d'accès à distance
Carte de gestion à distance, PowerShell à distance …
• Se connecter à l'autorité de certification uniquement à partir
d'hôtes d'administration renforcés et restreints
• Implémenter l'authentification multi facteurs
Identity Days 2020
29 octobre 2020
22. Sécurité des AC : Risques et facteurs d’atténuation
Protection du service ‘Autorité de Certification’
• Activer et configurer le pare-feu Windows
• Autoriser l'accès uniquement aux ports CA requis:
TCP 135
Ports élevés
• Configurer les paramètres de sécurité et les règles de pare-feu
pour autoriser l'accès uniquement à partir de :
Systèmes qui doivent inscrire des certificats
Stations d'inscription prédéfinies
Autorités d'enregistrement (par exemple, CEP-CES ou NDES)
Stations d’administration prédéfinies
Identity Days 2020
29 octobre 2020
23. Sécurité des AC : Risques et facteurs d’atténuation
Séparation des rôles aux sens des critères communs
… Organise les administrateurs de la PKI en rôles distincts basés sur
les tâches
… Empêche une condition dans laquelle une seule personne peut
compromettre la confiance en l’autorité de certification
Selon les directives des Critères Communs, aucun utilisateur ne
peut détenir plus d'un rôle de gestion PKI en même temps (sinon
ce compte est bloqué pour les tâches administratives)
Penser à attribuer à plusieurs utilisateurs le même rôle au cas où
un titulaire du rôle serait malade, en vacances, etc.
Identity Days 2020
29 octobre 2020
24. Sécurité des AC : Risques et facteurs d’atténuation
Séparation des rôles aux sens des Critères Communs
Identity Days 2020
29 octobre 2020
Roles Permission de sécurité Description
Administrateur des
services AD-CS
Gère les autorités de
certification
Configure et maintient les autorités de certification. Ce
rôle d'autorité de certification inclut la possibilité
d'attribuer tous les autres rôles d'autorité de
certification et de renouveler le certificat d'autorité de
certification
Gestionnaire de
certificats (officiers
de sécurité)
Délivre et gère les
certificats
Approuve les demandes d'inscription et de révocation
de certificats
Opérateur de
sauvegarde
Sauvegarde et restore les
dossiers et fichiers
Effectue la sauvegarde et la récupération du système. La
sauvegarde est une fonctionnalité du système
d'exploitation
Auditeur Gère les journaux de
sécurité et d’audits
Configurer affiche et conserve les journaux d'audit.
L'audit est une fonctionnalité du système d'exploitation
25. Sécurité des AC : Risques et facteurs d’atténuation
Rôles administratifs supplémentaires
Identity Days 2020
29 octobre 2020
Rôles et groupes Permission de sécurité Description
Agent de récupération
de clé
N.A. Est capable de déchiffrer les BLOBs en
utilisant sa clé privée KRA
Gestionnaire
d’utilisateurs
Permissions AD-DS Gère des utilisateurs et des informations
associées
Gestionnaire des
modèles de certificats
Configuration de sécurité
des modèles de certificats
Est autorisé à configurer les modèles de
certificats
Agent d’enrôlement L’utilisateur doit pouvoir
enrôler un certificat avec
l’OID ‘Agent de requête de
certificat’
Un agent d'inscription est autorisé à
demander des certificats au nom d'autres
utilisateurs.
26. Sécurité des AC : Risques et facteurs d’atténuation
Authentification MFA pour l’administration des Autorités de Certification
• Authentification multi facteurs recommandée pour les rôles de gestion
PKI:
• Administrateurs des services AD-CS
• Gestionnaires de certificats (officier de sécurité)
• Opérateurs de sauvegarde
• Auditeurs
• Gestionnaires de récupération de clé
• Si l'authentification par carte à puce est implémentée pour les rôles de
gestion, assurez-vous que vous pourrez vous connecter sur les autorités
de certification à tout moment
L'authentification par carte à puce n'est pas une option pour les ordinateurs
non joints à un domaine
Identity Days 2020
29 octobre 2020
27. Sécurité des AC : Risques et facteurs d’atténuation
Limitation des types de certificats émis par une autorité de Certification
• L'autorité de certification peut uniquement émettre des certificats répertoriés
dans son conteneur de modèles de certificats
• Supprimer les modèles de certificats par défaut et inutiles
• Supprimer les autorisations d'inscription ou d'inscription automatique trop
larges (ou vieillissantes)
• Sécuriser les modèles qui permettent de spécifier le sujet dans la demande
• Limiter le nombre de modèles
• Limiter les autorisations d'inscription
• Appliquer l'approbation du gestionnaire de certificats
• Contrôler les SAN ajoutés par l'utilisateur
Ne jamais utiliser l’option +EDITF_ATTRIBUTESUBJECTALTNAME2 sur des
autorités de certification d’entreprise
Identity Days 2020
29 octobre 2020
28. Sécurité des AC : Maintenir, Auditer, Contrôler
Gérer le MCO / MCS
Définir un modèle DSC pour éviter les dérives de configuration
Gérer manuellement les dérives sur les autorités hors ligne
Usage de DSCEA
Gestion automatique sur les serveurs en ligne
Utilisation du mode push
Utiliser des tâches planifiées sécurisées (avec gMSA) sur les serveurs en ligne
Contrôle et nettoyage des bases de données,
Notifications des certificats arrivant à échéance
Auditer, auditer, auditer…
Activer l’audit sur les autorités de certification
Commande certutil ou console ‘Autorité de Certification’
Activer l’audit au niveau du système d’exploitation
Commande auditpol ou console de stratégie locale
Identity Days 2020
29 octobre 2020
29. Sécurité des AC : Haute disponibilité
Points de publication et répondeur OCSP
Les certificats doivent être vérifiés c’est pourquoi les AIA et CRL doivent toujours
être disponibles au téléchargement
La publication des CRLs dans AD-DS (partition configuration) n’est plus conseillée
De même, le répondeur OCSP doit être hautement disponible pour la vérification
temps réel
Autorités de certification
Utile uniquement si la demande de certificats est intensive
Exemple : Certificats jetables de très courte durée sans gestion de révocation
Services Web de stratégies et d’enrôlement
Nativement hautement disponible si installations multiples
Identity Days 2020
29 octobre 2020
30. Sécurité des AC : Ségrégation du S.I.
Les autorités de certifications font partie
des assets les plus critiques de l’entreprise
Tout comme les contrôleurs de domaines…
Toutefois elles doivent répondre
à l’ensemble du périmètre
Tout comme les contrôleurs de domaines…
Il est recommandé de disposer d’une autorité de certification spécifique
pour enrôler les demandes de certificats des serveurs Tiers 0
Services AD-DS, AD-FS, MIM, etc…
Définir des modèles de certificats spécifiques…
Identity Days 2020
29 octobre 2020
31. Débuter par une PKI
minimale évolutive
Identity Days 2020
29 octobre 2020
32. Au début, une PKI pour l’infrastructure
Une PKI d’infrastructure est une PKI dont les certificats ne permettent
que certains usages intégrant :
• des chiffrements de flux (PowerShell, RDS, SSL, TLS) ,
• des autorisations de connexion (802.1X, 802.11I),
• des ouvertures de sessions (pour les ‘administrateurs’ ),
• des signatures (de scripts ou codes).
Elle ne permet donc pas, par défaut, le chiffrement de données qui exige
des agent de récupération de clé (KRA).
Mais cela est évolutif, et peut être rapidement intégré
Notamment pour l’usage de Encrypted Files System
Le cycle de vie de certificats peut être fortement automatisé avec AD-CS
• Totalement, si les données du certificat sont toutes issues de l’annuaire AD-DS
• A l’exception de la délivrance du premier certificat si les données sont précisées dans la requête,
• Ceci pour tous les environnements (Windows, Linux, et Mac) et le réseau (support SCEP)
Identity Days 2020
29 octobre 2020
33. De la PKI d’infrastructure à la PKI complète
Il est donc possible de mettre en œuvre graduellement une PKI au fur et à
mesure que les documents fonctionnels qui la régissent sont validés :
Stratégies de sécurité, stratégies de certificats et déclarations des pratiques de certification (CPS).
Toutefois l’implémentation devra déterminer dés le début si les extensions
futures exigeront des critères de sécurité supplémentaires nécessaires
pour l’implémentation de ces extensions
Protection de la clé privée (HSM, et si oui quel HSM ?)
Algorithmes de cryptographie (RSA, ECC, …)
Législation gouvernementale (notamment en France ou aux Etats Unis)
De plus en plus d'organisations envisagent d'utiliser des certificats pour authentifier,
signer ou chiffrer les communications entre elle-même et d'autres organisations, c’est
pourquoi les stratégies externes commencent à influencer l’architecture de la PKI.
RFC 3739, Sarbanes-Oxley, FIPS 201, FBCA, Certipath, …
Identity Days 2020
29 octobre 2020
34. Architecture évolutive
Architecture simple sans
protection spécifique de
la clé privée de l’autorité
racine
Départ au plus simple
sans HSM
Identity Days 2020
29 octobre 2020
35. Architecture évolutive
La clé privée de
l’autorité racine est
protégée dans un HSM.
Une plateforme hors
production est
nécessaire pour la
répétition de la
cérémonie des clés
Identity Days 2020
29 octobre 2020
36. Architecture évolutive
Ajout de services web
CEP-CES
• Pour le renouvellement
automatique des
certificats délivrés
manuellement arrivant
à échéance
• Pour tout enrôlement
hors AD-DS
Identity Days 2020
29 octobre 2020
37. Architecture évolutive
Ajout de scripts ou
de services de
synchronisation des
conteneurs PKI des
forêts
Identity Days 2020
29 octobre 2020
39. Déroulement d’un projet de mise en œuvre AD-CS
Identity Days 2020
29 octobre 2020
1
Atelier fonctionnel
Il permet de vérifier le niveau de sécurité
choisi, les applications utilisant la PKI et
le respect des législations,
2
Relevé de décisions
Il permet de valider
fonctionnellement les
choix faits suite à
l’atelier.
3
Compléments de documentation
Si nécessaire, rédaction des documents fonctionnels
complémentaires :
• Arbres des OIDs, stratégies de certificats,
• déclarations des pratiques de certification,
• script de cérémonie des clés
4
Déploiement
AD-CS minimal
Déploiement et tests de
l’architecture minimale
correspondant aux
besoins.
5
Extensions AD-CS
Extensions multi-forêts, CEP-CES,
NDES, traitements automatiques,
Certificates Lifecycle Management
6
Modèles de
certificats
Création des modèles
de certificats et
validation par la SSI
7
Audit de conformité et
mise en production
Audit de contrôle , revue des
procédures puis mise en production
On démarre ici
Et on fini la.
40. Planning projet de mise en œuvre AD-CS
Identity Days 2020
29 octobre 2020
S1 S2 S3 S4 S5 S6
Lancement
Atelier fonctionnel
Relevé de décisions
Validation du relevé
Demande de PEN
Génération Arbre OID
Déploiement minimal
Validation du déploiement
Extensions AD-CS
Modèles de certificats
Validation des modèles
Audit de conformité
41. Démonstration
• Demande de PEN et génération des OIDs
• Présentation d’une PKI minimale
• Comment l’administrer ?
Les acquis de la démonstration
• L’administration d’une PKI dont les serveurs sont installés en mode minimal ne
pause réellement aucun problème en termes d’administration graphique.
• L’automatisation des tâches liées au maintien en conditions opérationnelles
assure une disponibilité accrues
Identity Days 2020
29 octobre 2020
42. Les 6 points importants pour l’implémentation d’une PKI
Identity Days 2020
29 octobre 2020
1
IMPLÉMENTER UNE PKI S'APPUIE SUR
DES DOCUMENTS FONCTIONNELS
Une PKI est aussi sécurisée que les stratégies et
procédures mises en œuvre le permettent…
Le niveau de sécurité de la PKI doit refléter le niveau de
sécurité voulu de l’entreprise.
3
RESPECTER LES PRATIQUES LIÉES À
UNE VERSION DU SYSTÈME
D’EXPLOITATION
Installer une version N+1 comme la version N, c’est en
moyenne ajouter 20% de problématiques de sécurité.
Aujourd'hui UEFI Secure Boot, TPM et serveur sans interface
graphique sont les bases des services d’infrastructure
5
VISER L’AUTOMATION DES PROCESS
ET DU CYCLE DE VIE DES
CERTIFICATS
Eviter les oublis et erreurs humaines en automatisant
les actions qui le permettent : maintenance de la base
de données, MCO, MCS, cycle de vie des certificats
2
PENSER LES BESOINS A MOYENS
VOIRE LONGS TERMES
Changer la configuration de l’autorité racine peut
déclencher un redéploiement total de tous les
certificats émis, à commencer par ceux des autorités
secondaires
4
IMPLÉMENTER LA SÉPARATION DES
RÔLES
Ne laisser pas la gestion des certificats au main d’une
seule personne ou d’un administrateur de domaine.
6
AUDITER, CONTROLER ET ON
RECOMMENCE ☺
L’audit et le contrôle sont les meilleurs moyens de
vérifier le fonctionnement voulu d’une PKI.
43. Identity Days 2020
29 octobre 2020
Merci…
Maintenant place à vos questions….
Mettre en œuvre AD-CS en
respectant les meilleures pratiques
44. Merci à tous nos partenaires ! @IdentityDays #identitydays2020