• Nenhum resultado encontrado

Object Request Broker

3.2.2 SEGURANÇA EM CORBA

Par a segurança a ar quit et ur a CORBA define o ser viço CORBASec. As funções disponibilizadas pelo CORBASec abr angem aut ent icação, aut or ização e cont r ole de acesso, além de com unicação segur a, não- repúdio e adm inist r ação das polít icas de segur ança [ Mar t ins et al 2004] . Ser ão discut idos apenas aut ent icação e aut or ização, por serem o enfoque pr incipal desse t r abalho.

Par a aut ent icação os Pr incipais ( qualquer elem ent o do sist em a) apresent am ident ificador es e o cer t ificado digit al. O processo de ident ificação dos Pr incipais cham a- se Aut ent icador do Principal e com o result ado desse pr ocesso obt ém - se um obj et o Cr edencial. O obj et o Cr edencial r eúne infor m ações r elat ivas à ident idade do Pr incipal além dos seus at r ibut os de segur ança, que

ser ão usados par a aut or ização. No CORBASec são supor t adas as seguint es plat afor m as de cer t ificação digit al: Ker ber os, SPKM ( Sim ple Public- Key GSS- API Mechanism ) , CSI - ECMA e SSL. No ent ant o, a especificação CORBASec não define r equisit os par a a obt enção, ger enciam ent o e validação de cert ificados de qualquer um a das plat aform as cit adas. Port ant o, os cer t ificados são ut ilizados, no cont ext o do CORBASec, apenas par a cr iação de Cr edenciais de Pr incipais com seus r espect ivos at r ibut os de segur ança. E esses cer t ificados são concedidos por plat afor m as de cer t ificação ext er nas ao CORBASec. Par a execut ar um a aplicação CORBA que necessit e de cer t ificados, o pr ogr am ador dev e ut ilizar um serviço de cert ificação ext er no e ar m azenar , em ar quivos, o cer t ificado e a chave pública do obj et o. Em seguida, deve iniciar a aplicação passando com o par âm et r o esses dois arquivos. O código da Figura 3.4 ilust ra a inicialização de um a aplicação com a passagem do nom e dos ar quivos Ser ver Cer t .pem e Ser ver Key.pem que cont êm , r espect ivam ent e, o cer t ificado e a chave pública cr iados ext er nam ent e e que ser ão usados pela aplicação.

Figu r a 3 .4 : I n icia liz a çã o de u m a Aplica çã o r e ce be n do ce r t ifica do.

Após a aut ent icação, os obj et os cr edenciais guar dam infor m ações dos cer t ificados r epassados na inicialização. Além disso, é criado um obj et o Cur r ent que guar da o cont ext o de segur ança, ou sej a, as infor m ações necessár ias, dent r e elas a cr edencial, par a que o ser viço de segur ança possa aplicar m ecanism os de segur ança dur ant e as invocações.

O pr ocesso de aut or ização, iniciado após a aut ent icação, consist e no cont r ole de quais oper ações podem ser r ealizadas por um det er m inado client e. Par a t er esse cont r ole r elaciona- se os at r ibut os de segur ança de um Pr incipal

./server -ORBIfaceRepoAddr ssi:inet:elba:2222 -ORBIIOPAddr ssi:inet:caetano:4444 -ORBSSLcert ServerCert.pem -ORBSSLkey ServerKey.pem - ORBSSLverify 0

com a polít ica de cont r ole de acesso. O cont r ole de acesso no CORBASec é realizado à nível de oper ação. Ou sej a, à m edida que as requisições são r ecebidas o ser vidor v er ifica, usando infor m ações do obj et o Cur r ent , se aquele Pr incipal pode ou não ex ecut ar a oper ação solicit ada.

Par a isso o obj et o Cr edencial do client e é avaliado cont r ast ando- o com as polít icas de acesso baseado em papéis. O obj et o Cr edencial cont ém infor m ações de ident idade e at r ibut os de segur ança. At r avés dos at r ibut os de segur ança pode- se obt er os at r ibut os de pr ivilégio que são usados par a o cont r ole de acesso. Est es at r ibut os ser vem par a especificar quais os pr ivilégios de um Pr incipal dent r o do sist em a. Os m ais usados são: I dent idade de acesso dos Principais ( AccessI d) , Gr upo, o qual norm alm ent e r eflet e um depart am ent o de um a or ganização ( Gr oupI d) e o gr upo pr im ár io ao qual um Principal pert ence ( Pr im ar yGroup) . Após avaliar os at r ibut os de pr ivilégio, o sist em a ver ifica as polít icas de acesso. Os dir eit os da polít ica de acesso são r epr esent ados pelas seguint es let r as: g ( get ) , s ( set ) , u ( use) , e m ( m anage) . Essas let r as det er m inam os dir eit os gar ant idos ( Gr ant ed Right s) e os direit os requisit ados ( Requir ed Right s) par a r ealizar um a oper ação.

Por t ant o, o cont r ole de acesso consist e apenas no confr ont o dos dir eit os r equer idos ( Requir edRight s) dos obj et os do sist em a com os dir eit os gar ant idos aos Pr incipais. Analisando o exem plo da Figur a 3.5, obser va- se que par a os at r ibut os de pr ivilégio ( Pr incipais w ife e husband) AccesI D: w ife e AccessI d: husband é dado o dir eit o de g ( get ) . Para o acesso ao m ét odo balance da int er face Account , é r equer ido o dir eit o g ( get ) . Assim , t odos os pr incipais que t iverem o direit o g podem acessar a oper ação balance da int er face Account .

Figu r a 3 .5 : Ex e m plo de con t r ole de a ce sso n o CORBASe c.

A Figur a 3.6 ilust r a um a r egr a sim ples de cont r ole de acesso, codificada em um obj et o, que det er m ina se um a oper ação pode ser r ealizada ou não. Nesse caso, se o Pr incipal que invocou a oper ação per t encer ao gr upo fam ily o acesso ser á per m it ido. Caso cont r ár io, um a m ensagem de negação de acesso é r et or nada.

Figu r a 3 .6 : Re gr a de Con t r ole de Ace sso

Concluindo, par a aut ent icação de pr incipais CORBASec especifica obj et os cr edenciais que são ut ilizados par a guar dar a ident ifidade e pr ivilégios dos pr incipais. As credenciais são cr iadas a par t ir de cer t ificados cr iados ext ernam ent e e recebidos com o parâm et ros na inicialização da aplicação. Porém , CORBASec não pr ovê funções par a validação desses cert ificados. O pr ocesso de validação deve ser feit o ext er nam ent e, por um a ent idade dissociada do ser viço. Esse aspect o t or na o CORBASec incom plet o em t er m os de supor t e a segur ança

If !(group = ´family´)

cerr << ´Ops, access denied´<< endl;

At r ibu t os de Pr iv ilé gio D ir e it o Gr a n t e dRigh t s

Acce ssid : w ife g Acce ssid : h u sba n d gs

Re qu ir e dRigh t s

I n t e r fa ce Ope r a çã o D ir e it o g

Ba la n ce Accou n t

um a vez que, par a o pr ocesso de aut ent icação t em - se de usar um a ent idade ext erna ao CORBA para em it ir, validar e delegar cer t ificados. Est e fat o, aliado à grande com plexidade do CORBASec, t orna o ser viço pouco ut ilizado [ Mar t ins 2004] . Par a usá- lo há necessidade de se cr iar vár ias r efer ências a obj et os ou cham adas a diver sas funções bem com o o pr eenchim ent o de inúm er as est r ut ur as de dados. I sso im plica um gr ande núm er o de linhas de código e enor m e com plexidade no desenvolvim ent o de um a aplicação.

Ca pít u lo 4

Documentos relacionados