Grid Computing Part 3. Grid Security Architecture Margarita M.Stepanova mstep@mms.nw.ru Saint-Petersburg State University, Faculty of Physics v.1.3 10.03.10.

Презентация:



Advertisements
Похожие презентации
Grid Computing Part 3. Grid Security Architecture Margarita M.Stepanova Saint-Petersburg State University, Faculty of Physics v
Advertisements

© 2006 Cisco Systems, Inc. All rights reserved.ONT v Implement the DiffServ QoS Model Implementing QoS Preclassify.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v Complex MPLS VPNs Introducing Central Services VPNs.
Copyright 2003 CCNA 4 Chapter 11 Scaling IP Addresses By Your Name.
© 2003, Cisco Systems, Inc. All rights reserved. CSPFA Chapter 3 Cisco PIX Firewall Technology and Features.
© 2003, Cisco Systems, Inc. All rights reserved. CSVPN Lesson 6 Configure the Cisco VPN 3000 Series Concentrator for Remote Access Using Digital.
© 2006 Cisco Systems, Inc. All rights reserved.CIPT2 v Monitor and Manage IP Telephony Introducing Cisco Unified CallManager Serviceability.
Unit 2 Users Management. Users Every user is assigned a unique User ID number (UID) UID 0 identifies root User accounts normally start at UID 500 Users'
© 2006 Cisco Systems, Inc. All rights reserved.ISCW v IPsec VPNs Implementing the Cisco VPN Client.
© 2005, Cisco Systems, Inc. All rights reserved. IPS v Lesson 4 Using IPS Device Manager.
© 2007 Cisco Systems, Inc. All rights reserved.SNRS v Secured Connectivity Introducing IPsec.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary © Wind River Systems, released under EPL 1.0. All logos are TM of their respective.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v BGP Overview Understanding BGP Path Attributes.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Managing Your Network Environment Managing Cisco Devices.
Windows Server 2003 DHCP How DHCP Allocates IP Addresses DHCP Server DHCP Database IP Address1: Leased to DHCP Client1 IP Address2:
© 2003, Cisco Systems, Inc. All rights reserved. CSPFA Chapter 9 Routing.
© 2009 Avaya Inc. All rights reserved.1 Chapter Two, Voic Pro Components Module Two – Actions, Variables & Conditions.
© 2004, Cisco Systems, Inc. All rights reserved. CSIDS Lesson 7 Using the Intrusion Detection System Device Manager to Configure the Sensor.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v MPLS VPN Implementation Configuring VRF Tables.
© 2006 Cisco Systems, Inc. All rights reserved.ISCW v IPsec VPNs Configuring IPsec Site-to-Site VPN Using SDM.
Транксрипт:

Grid Computing Part 3. Grid Security Architecture Margarita M.Stepanova Saint-Petersburg State University, Faculty of Physics v

Концепция безопасности Accounting User Resource Authentication Authorization Grid Security Infrastructure (GSI) - набор программ и библиотек, обеспечивающих аутентификацию, авторизацию и работу с сертификатами сертификаты X.509 механизм PKI (public key infrastructure) протокол SSL (для аутентификации, конфиденциальности и целостности данных) Proxy-сертификаты и механизм делегирования полномочий (для обеспечения однократной авторизации single sign-on в рамках виртуальной организации)

GSI General PKI (CAs and Certificates) SSL/ TLS Proxies and Delegation PKI for credentials SSL for Authentication and message protection Proxies and delegation (GSI Extensions) for secure single Sign-on Based on Slide from Globus Tutorial

Basic security concepts Authentication (Аутентификация) –проверка подлинности субъекта Authorization (Авторизация) –сопоставление субъекта и набора привилегий Confidentiality (Конфиденциальность) –доступность передаваемых данных заранее предопределённому набору субъектов. (Только получатель может понять закодированное сообщение) Integrity (Целостность) –неизменность передаваемых данных Non-repudiation (Поддержка принятия) –Невозможность отвергать достоверность цифровой подписи Алгоритм шифрования –(известный) набор действий, необходимый для шифрования/расшифровки данных, пример: DES, RSA, BlowFish Key (Ключ) –параметр алгоритма шифрования Digital signature (Цифровая подпись) –инструмент для идентификации источника данных Credentials (Верительные грамоты, сертификаты) –Некоторые данные, обеспечивающие доказательство тождества Доверительный домен безопасности –логическая административная структура, в рамках которой реализуется единый механизм безопасности

Принципы организации механизма безопасности Grid Стандартный глобальный механизм междоменного взаимодействия Существуют глобальные и локальные субъекты, и для каждого доверительного домена существует особое преобразование глобальных сущностей в локальные сущности Глобально идентифицированный субъект, преобразованный в локальный, считается эквивалентом локально идентифицированного субъекта Все решения, связанные с контролем доступа, принимаются локально на основе локального субъекта Операции между сущностями расположенными в разных доверительных доменах требуют взаимной аутентификации Процессу разрешается осуществлять действия от имени пользователя и получать права пользователя. Процессы, запущенные от имени одного пользователя в рамках одного доверительного домена могут иметь общее множество реквизитов

Encryption Symmetric encryption: используется один и тот же ключ (secret) для шифрования/расшифровки - 3DES, IDEA, BlowFish Asymmetric encryption: используются разные ключи для шифрования/расшифровки –RSA, DSA Clear text message Encrypted text Clear text message Encryption Decryption Shared key Clear text message Encrypted text Clear text message Encryption Decryption Key A Key B Slide from Andrea Sciabà, 2004

Public Key Infrastructure (PKI) Provides confidentiality, integrity, authentication, non-repudiation Asymmetric encryption Digital signatures –A hash derived from the message and encrypted with the signers private key –Signature checked decrypting with the signers public key Allows key exchange in an insecure medium using a trust model –Keys trusted only if signed by a trusted third party (Certification Authority) –A CA certifies that a key belongs to a given principal Certificate –Public key + information about the principal + CA signature –X.509 format most used PKI used by SSL, PGP, GSI, WS security, S/MIME, etc. Encrypted text Private KeyPublic Key Clear text message Slide from Andrea Sciabà, 2004 Owner

Конфиденциальность: шифрование

Целостность: цифровая подпись

Аутентификация: сертификаты Как получатель может быть уверен в том, что открытый ключ отправителя действительно принадлежит требуемому субъекту? Certificate - цифровой документ, подтверждающий, что некоторый открытый ключ принадлежит определенному пользователю Подписан третьей (доверяемой всеми!) стороной, называемой центром сертификации (certificate authority, СA)

X.509 certificates and authentication A B As certificate A Verify CA signature Random phrase Encrypt with A s private key Encrypted phrase Decrypt with A s public key Compare with original phrase Public key Subject:C=CH, O=CERN, OU=GRID, CN=John Smith 8968 Issuer: C=CH, O=CERN, OU=GRID, CN=CERN CA Expiration date: Aug 26 08:08: GMT Serial number: 625 (0x271) CA Digital signature Structure of a X.509 certificate RFC3280 Slide from Andrea Sciabà, 2004

Certification Authorities and etc. Certification Authority (CA) – выдаёт и отзывает сертификаты. Является третьей доверенной стороной. CA сертификаты само- подписанные (self-signed). Registration Authority(RA) – подтверждает право объекта на получение/отзыв сертификата. Владелец сертификата – может использовать закрытый ключ и сертификат для шифрования и цифровой подписи. Клиент – объект, использующий открытый ключ для шифрования данных, проверяющий цифровую подпись или аутентифицирующий владельца открытого ключа. Repository - Хранилища (репозитории) для действительных сертификатов и списка отозванных сертификатов или Certificate Revocation List, CRL. Distinguished Name (DN) – уникальное имя сертификата, оформленное в стиле X.500: /C=RU/O=DataGrid/CN=DataGrid CA

Certificate Authorities (CAs ) The public key from the CA certificate can be used to verify other certificates Name Issuer Public Key Signature Hash =? Decrypt Name: CA Issuer: CA CAs Public Key CAs Signature slide based on Grid Security Infrastructure Tutorial Certificate Policy (CP) Each CA has a Certificate Policy (CA) which states when and how a CA issues certificates. A CA for a grid typically only issues certificates for folks that are already approved to use resources on the grid

Certificate classification User certificate –выпускается для физических лиц (пользователей) –DN= C=RU, O=RDIG, OU=GRID, CN =Ivan Petrov –единственный вид свидетельства хорошего клиента при отправке задания в Grid Host certificate –выпускается для хостов, входящих в Grid-инфраструктуру и поддерживающих Grid-сервисы (например, Resource Broker, Computing Element, etc.) –DN= C=CH, O=CERN, OU=GRID, CN=host/host1.cern.ch Старая форма: /C=RU/O=RDIG/OU=hosts/OU=spbu.ru/CN=host/phys9.gridzone.ru Новая форма: /C=RU/O=RDIG/OU=hosts/OU=spbu.ru/CN=phys9.gridzone.ru Service certificate –выпускается для программ (сервисов), запускаемых на узле –DN= C=CH, O=CERN, OU=GRID, CN=ldap/host1.cern.ch

Private кey надежно сохраняется на локальном диске Certificate Request Public Key ID Cert Пользователь генерирует public/private пару ключей Пользователь посылает СА публичный ключ и подтверждение идентификационные данные CA подтверждает идентичность, подписывает сертификат и отправляет его пользователю slide based on presentation given by Carl Kesselman at GGF Summer School 2004 Public Certificate Request

Как получить сертификат (1) Схема действий для получения официального российского сертификата в RDIG Certification Aithority : Заполнить электронную форму ( выбрав организацию SPBU ) Получить файл с запросом на сертификат, бумажную форму запроса и модуль вашего открытого ключа Сгенерировать запрос, отправить файл запроса в RDIG CA, дождаться подтверждения Подтвердить Ваши данные и запрос у RA SPBU После получения подтверждения от RA ваш сертификат будет подписан и выслан на ваш электронный адрес. Кроме того, ваш подписанный сертификат будет доступен в списке действительных сертификатов RDIG:

Как получить сертификат (2) Схема действий для получения неофициального (simple) сертификата, сгенерированного локальным CA: сгенерировать пару ключей и запрос отправить его на адрес локального CA. подписанный сертификат можно использовать для доступа к ресурсам сайтов, которые включат ваш сертификат в свой локальный grid-mapfile. !!! Получение сертификата само по себе не дает права использовать какие-либо ресурсы Грид, пока сертификат не зарегистрирован в виртуальной организации или не добавлен вручную администратором сайта !!!

Где и как нужно разместить сертификат В своем домашнем каталоге на UNIX-машине с установленным UI (user interface): [wood] /home/mstep > ls -l.globus total 12 -r--r--r-- 1 mstep wheel 5662 Feb usercert.pem -r mstep wheel 963 Feb userkey.pem Если требуется доступ к ресурсам через браузер, то нужно ваш сертификат конвертировать из формата PEM в PKCS12 и загрузить в браузер [wood] /home/mstep > openssl pkcs12 -export -inkey userkey.pem -in usercert.pem -out my_cert.p12 -name "My certificate" Инструкция здесь:

Globus Grid Security Infrastructure (GSI) de facto standard for Grid middleware Based on PKI Implements some important features –Single sign-on: no need to give ones password every time –Delegation: a service can act on behalf of a person –Mutual authentication: both sides must authenticate to the other Introduces proxy certificates –Short-lived certificates including their private key and signed with the users certificate Slide from Andrea Sciabà, 2004

Аутентификация и делегирование (пояснение) Представитель пользователя (user proxy) – сеансовый процесс, которому дано право осуществлять операции от имени пользователя в течение ограниченного промежутка времени. Proxy имеет свои реквизиты, что устраняет необходимость постоянного присутствия пользователя и доступности пользовательских реквизитов Процесс делегирования: 1.Делегат(B) создаёт пару ключей. 2.Открытый ключ отсылается делегирующему(A). 3.Подписанный открытый ключ (сертификат) возвращается делегату вместе со всей цепочкой сертификации. A B

Proxy certificates and delegation Delegation –Allowing something else (eg. a file transfer service) to use user credentials Proxies can be moved over a network Subject identifies the user: –User subject: /C=CH/O=RDIG/OU=GRID/CN=Margarita Stepanova 8968 –Proxy subject: /C=CH/O=RDIG/OU=GRID/CN=Margarita Stepanova 8968/CN=proxy Full proxy –A proxy created from a user certificate or another full proxy with normal delegation Limited proxy –A proxy created from a proxy with limited delegation, or from another limited proxy

GSI environment variables User certificate files: –Certificate:X509_USER_CERT (default: $HOME/.globus/usercert.pem ) –Private key:X509_USER_KEY (default: $HOME/.globus/userkey.pem ) –Proxy:X509_USER_PROXY (default: /tmp/x509up_u ) Host certificate files: –Certificate:X509_USER_CERT (default: /etc/grid-security/hostcert.pem ) –Private key:X509_USER_KEY (default: /etc/grid-security/hostkey.pem ) Trusted certification authority certificates: – X509_CERT_DIR(default: /etc/grid-security/certificates ) Location of the grid-mapfile: – GRIDMAP(default: /etc/grid-security/grid-mapfile )

Command line interface: certificate and proxy management Create a proxy certificate: ~]$ grid-proxy-init Your identity: /C=RU/O=NanoGrid/OU=users/OU=pnpi.nw.ru/CN=Margarita Stepanova Enter GRID pass phrase for this identity: Creating proxy Done Your proxy is valid until: Fri Mar 26 23:13: Get information on a proxy certificate ~]$ grid-proxy-info subject : /C=RU/O=NanoGrid/OU=users/OU=pnpi.nw.ru/CN=Margarita Stepanova/CN= issuer : /C=RU/O=NanoGrid/OU=users/OU=pnpi.nw.ru/CN=Margarita Stepanova identity : /C=RU/O=NanoGrid/OU=users/OU=pnpi.nw.ru/CN=Margarita Stepanova type : RFC 3820 compliant impersonation proxy strength : 512 bits path : /tmp/x509up_u500 timeleft : 11:59:52 ~]$ ll /tmp -rw mstep wheel 2865 Mar 26 11:13 x509up_u500 Destroy a proxy certificate ~]$ grid-proxy-destroy

Long term proxy Proxy has limited lifetime (default is 12 h) myproxy server (MyProxy): –Allows to create and store a long term proxy certificate: –myproxy-init -s -t –myproxy-info Get information about stored long living proxy –myproxy-get-delegation Get a new proxy from the MyProxy server –myproxy-destroy A service running continuously can renew automatically a proxy created from a long term use proxy and use it to interact with the Grid –Examples: automatic job dispatchers or data movers

Automatic proxy renewal for long-running jobs

Virtual Organizations and authorization Users MUST belong to a Virtual Organization –Sets of users belonging to a collaboration –Each VO user has the same access privileges to Grid resources –List of supported VOs: VOs maintain a list of their members –The list is downloaded by Grid machines to map user certificate subjects to local pool accounts: only mapped users are authorized in Grid –Sites decide which VOs to accept VO Policy + Local Site Policy... "/C=CH/O=CERN/OU=GRID/CN=Simone Campana 7461".dteam "/C=CH/O=CERN/OU=GRID/CN=Andrea Sciaba 8968".cms "/C=CH/O=CERN/OU=GRID/CN=Patricia Mendez Lorenzo-ALICE".alice... grid-mapfile:

User authentication based on central databases –one database per VO –Database contains the certificate subjects of all users. Databases accessed by RBs, CEs and SEs –locally build a list of authorized users (/etc/grid-security/grid-mapfile) –The list maps user certificate subjects to local pool accounts –Users with a. in are illegal in UNIX. Signal to the globus libraries to allocate a pool account, eg dteam005. A permanent mapping is maintained (/etc/grid-security/gridmapdir/) –Mappings have a life time of 1 day before being recycled. Authentication and Authorization System... "/C=CH/O=CERN/OU=GRID/CN=Simone Campana 7461".dteam "/C=CH/O=CERN/OU=GRID/CN=Andrea Sciaba 8968".cms "/C=CH/O=CERN/OU=GRID/CN=Patricia Mendez Lorenzo-ALICE".alice atlas %2fc%3dch%2fo%3dcern%2fou%3dgrid%2fcn%3dsimone%20campana%207461%20%2d%2...

Example: VO-LDAP server for Authorisation mkgridmap grid-mapfile VO Directory CN=Mario Rossi o=xyz, dc=eu-datagrid, dc=org CN=Franz ElmerCN=John Smith Authentication Certificate ou=Peopleou=Testbed1ou=??? local users ban list

Query Authentication Request Auth DB C=IT/O=INFN /L=CNAF /CN=Pinco Palla /CN=proxy VOMS pseudo -cert 1.Mutual authentication Client-Server –Secure communication channel via standard Globus API 2.Client sends request to Server 3.Server checks correctness of request 4.Server sends back the required info (signed by itself) in a Pseudo-Certificate 5.Client checks the validity of the info received 6.Optionally: [Client repeats process for other VOMS s] 7.Client creates proxy certificates containing all the info received into a (non critical) extension 8.Client may add user-supplied auth. info (kerberos tickets, etc … ) Based on: VOMS – VO Membership Service Сервис управления членством в VO Позволяет создать иерархическую групповую структуру с пользовательскими ролями Позволяет избежать необходимости использования локального gridmap-файла Внутренняя структура хранилища – Relational Database

VOMS, LCAS, LCMAPS Virtual Organization Membership Service (VOMS) –Extends the proxy info with VO membership, group, role and capabilities –User may log-in into multiple VOs and create an aggregate proxy certificate – voms-proxy-init instead of grid-proxy-init Local Centre Authorization Service (LCAS) –Checks if the user is authorized (currently using the grid-mapfile) –Checks if the user is banned at the site –Checks if at that time the site accepts jobs Local Credential Mapping Service (LCMAPS) –Maps grid credentials to local credentials (eg. UNIX uid/gid) –Currently uses the grid-mapfile (based only on certificate subject) –Maps also VOMS group and roles "/VO=cms/GROUP=/cms".cms "/VO=cms/GROUP=/cms/prod".cmsprod "/VO=cms/GROUP=/cms/prod/ROLE=manager".cmsprodman

Example voms-proxy-init ~]$ voms-proxy-init --voms dteam Cannot find file or dir: /home/mstep/.glite/vomses Enter GRID pass phrase: Your identity: /C=RU/O=RDIG/OU=users/OU=spbu.ru/CN=Margarita Stepanova Creating temporary proxy Done Contacting lcg-voms.cern.ch:15004 [/DC=ch/DC=cern/OU=computers/CN=lcg- voms.cern.ch] "dteam" Done Creating proxy Done Your proxy is valid until Fri Mar 26 23:33: ~]$ voms-proxy-info --all subject : /C=RU/O=RDIG/OU=users/OU=spbu.ru/CN=Margarita Stepanova/CN=proxy issuer : /C=RU/O=RDIG/OU=users/OU=spbu.ru/CN=Margarita Stepanova identity : /C=RU/O=RDIG/OU=users/OU=spbu.ru/CN=Margarita Stepanova type : proxy strength : 1024 bits path : /tmp/x509up_u500 timeleft : 11:59:33 === VO dteam extension information === VO : dteam subject : /C=RU/O=RDIG/OU=users/OU=spbu.ru/CN=Margarita Stepanova issuer : /DC=ch/DC=cern/OU=computers/CN=lcg-voms.cern.ch attribute : /dteam/Role=NULL/Capability=NULL timeleft : 11:59:45 uri : lcg-voms.cern.ch:15004

User Authorisation to Access Resource slide based on presentation given by Carl Kesselman at GGF Summer School 2004

Summary GSI is: –X.509 Certificates for authentication –PKI for verifying identities in Certificates –SSL as the protocol for authentication, confidentiality and integrity –Proxy certificates and delegation to support single sign-on