gerando um certificado digital próprio
DESCRIPTION
certificado digitalTRANSCRIPT
-
GerandoumCertificadoDigitalPrprioVejanesteartigooqueumcertificadodigitaledoqueelecomposto,oqueoX.509ecomosedacadeiadecertificaoeoICP.Tambmveremosnaprticacomosedaemissodecertificados.
Gostei(11) (0)
Umachavepblica,assimcomodocumentosimpressos,deveterelementosagregadosque
permitamoreconhecimentodesualegitimidade,poisachavepblicaomeioquepermite
aterceirosoreconhecimentodeumaassinaturadigital.Seumachavepblicanopuderter
asuapropriedadeestabelecida,ouseja,nopudermoscomprovaravinculaoentrea
chaveeapessoaquealegapossuila,podemosconcluirqueasassinaturasdigitais
verificadasporessachavepblicapodenotervalidadealguma.
Apenasachavepblicagaranteaindividualidade,masnoaidentidadedoseuproprietrio.
Dessaforma,seumusuriorecebeachavepblicaepassaautilizlaparalheenviar
mensagenscifradas,ousurioestcertodeestartratandosemprecomamesmapessoa,
organizaooucomputador,masnoconseguegarantiassobreaidentificaorealdesta
queeleesttratando.
323
-
Portanto,essasituaodemonstraqueachavepblicanoresolvequestescruciais.Uma
soluoparaissoseriaapublicaodetodasaschavespblicasemlistagenscomos
nomeseoutrosdadosdosseusproprietrios,comoumalistatelefnica.Assim,poderamos
procurarpelonomedapessoaeacharasuachavepblica,masinfelizmentenohum
modoefetivoparagarantirqueachavepublicadapertencerealmenteapessoaquese
apresentacomoproprietria.
Asoluoadotadaparasolucionaressalacunacompostaporumsistemaumpoucomais
complexoquevinculadadosunvocosdoproprietriocomasuachavepblica.Almdisso,
essavinculaodeveriaserinequvocaeprovadeadulterao,utilizandoassinatura
digital.
Norestantedoartigoveremosmaissobrecertificadodigitaleposteriormentefaremosum
exemploprticodecomopodemosgerarumcertificadodigital.
CertificadoDigitalUmCertificadodigital,tambmconhecidocomocertificadodechavepblicaoucertificado
deidentidadeumdocumentoeletrnicoquereneumachavepblicaeosdadosde
identificaodoproprietrio.Essedocumentoassinadodigitalmente,oquegarantea
integridadeeacoesodosdadosnelecontidos.
Apesardeexistiremmodelosdistintos,basicamenteumcertificadodigitalcontmcomo
componentesumachavepblica,onomedoproprietrio,endereoeletrnicodo
proprietrio,datadecriaodocertificado,datadevalidadedocertificado,nmeroserial
nicodocertificadoeassinaturadigitalsobreoconjuntodoscamposanteriores.Assim
sendo,umcertificadodigitalumconjuntoformadoporchavepblica,dadosde
identificaodoproprietrioeumaassinaturadigitaldeoutrafonte,quedevesercreditada
comoconfivel.Essasoluodeumaassinaturadigitaldeterceiroscomouma
-
autorizaodadaporumaautoridadecomfpblicaadocumentosoficiaisouaocontrato
assinadoporumaoumaistestemunhas.Comisso,umcertificadoassinadoporumterceiro
confiveltemprerrogativadecredibilidade.
X.509OX.500foiaprimeiraversodasrieaprovadapeloSetordePadronizaode
TelecomunicaesdaUnioInternacionaldeTelecomunicaes(ITUT)noanode1988.
OX.500umconjuntodepadrespararedesdecomputadoresquetratamsobreservios
dediretrio,entreelesestadefiniodoDAP(DirectoryAcessProtocol)queabase
paraoLDAPediversosoutrosserviosdediretrios.UmpadrodasrieX.500
oX.509quetratasobrecertificadosdechavepblicae,devidosuagrandeimportncia
acabouatmesmoextrapolandooescopodasrie.
OX.509estnaverso3quefoipublicadaem1996emumacolaboraoentre
aISO/IEC,ITUTeANSI.Umacaractersticafundamentaldestecertificadoaexistncia
deumemissor,oquesignificaquealmdosdadosdeidentificaodotitular,temtambm
aidentificaodequememitiuocertificadoe,portanto,dequemcertificaavalidadedos
dados.Algunscertificadostambmsocapazesdeseremusadosparaemitiroutros
certificados.
EntreoscamposdocertificadotemosaversodoX.509,onmeroserialqueo
identificadordocertificadonoescopodoemissor,oalgoritmodeassinatura,aidentificao
doemissor,avalidadedocertificado,aentidade,chavepblica,entreoutros.
SeumcertificadodigitalX.509deveterexplicitamenteumemissor,estedeveservirpara
atestaraveracidadedocertificadoporeleemitido.Dessaforma,seoemissorfossealguma
pessoaouentidadedesconhecida,aassinaturanocertificadonooferecerianenhuma
garantiaepoderiaserdesconsiderada.PorissoqueopadroX.509estabelecequea
-
emissodecertificadosdigitaisaosusuriosfinaisdeveserrealizadaporumaentidade
confivelcomoumaAutoridadeCertificadora(ouAutoridadedeCertificaoAC).
AsAutoridadesCertificadorasdevemcontrolartodoociclodevidadoscertificadosqueela
emiteprezandopelosigilodaprpriachaveprivadausadanaassinatura.Porissoque
umaACtemumaestruturabastanterobusta,commecanismosdeauditoria,tolernciaa
falhas,seguranacomsalascofreedocumentaodeprocedimentoseeventos.
Noentanto,asatividadesmaisburocrticasderecolhimentoeconfernciada
documentaodosusuriosnofazpartedoescopodeumaACrestandoissopara
asAR(AutoridadedeRegistro)quefuncionacomoumasubsidiriaoperacionaldaAC.
ParamaisinformaessobrecomofuncionaacadeiadecertificaonoBrasileaICPveja
maisinformaessobreoartigodecertificaodigitalpublicadanoportalDevMedia.
Naprximaseoveremosnaprticacomopodemosgerarumcertificadodigitalprprio,
fazendoanossaprpriacadeiadecertificao.
CadeiadeCertificaoeICPConformevimosanteriormentealgunscertificadospodemassinaroutroscertificados,essa
caractersticaespecialmentetilparaasACsquandosequerterumnvelintermedirio
entresieosusuriosfinais,muitoemfunodacomplexidadedocenrio.Assim,
asACspodemterACssubsidiriasquepossuemseuscertificadosassinadospelo
certificadodaACprincipal.Oscertificadosdosusuriosfinaissoassinados
pelasACssubsidirias.
Essetipodeestruturapodeterumelevadonmerodenveisederamificaesemcada
nvel,tornandoahierarquiabastantecomplexa.Porm,naprticatemostrsaquatro
nveisparaamaioriadasaplicaes.Nessaestruturaemrvoretemostambmoconceito
-
dedelegaopostergadadeconfiana,ondeaACemiteocertificadodeumusuriofinal
atestandoasuaautenticidade,equematestaaautenticidadedocertificadodessaAC,alm
daconfiabilidadedassuasprticas,ACdenvelsuperior.Dessaforma,acadanvelque
subimosnarvore,aconfianacreditadaparaaACqueassinaoscertificadosdaquele
nvel.EsseprocessodeconfianavaiataACRaizqueestnotopodarvoreeoseu
certificadoautoassinado,ouseja,elaconsideradacomopossuidoradeconfiana
absolutaparaseusdevidosfins,deformaquenenhumaoutraatividadeassinaoseu
certificado.
UmainfraestruturadeChavesPblicas(ICP,doinglsPublicKeyInfrastructurePKI)
todooconjuntoformadopelacomunidadedeusuriosfinais,ACRaizeACsintermedirias.
Almdisso,tambmenglobanormaseprocedimentosregradoresdesseconjunto,eas
estruturasfsicaselgicasquedoosuportenecessrioaofuncionamentodetodoo
sistema.UmaICPpodetermbitoorganizacional,acadmico,nacional,entreoutros.
Noanode2001ogovernofederaldoBrasilinstituiuaICPBrasil(InfraEstruturadeChaves
PblicasBrasileira).Essanormaespecificouasbasesparaacriaodasestruturasedas
organizaesquedosuporteaessaICP.EntrealgumasdasdefiniesoInstituto
NacionaldeTecnologiadaInformao(ITI)foitransformadoemautarquiaepassoua
desempenharafunodeAutoridadeCertificadoraRaiz,efoicriadoumComitGestor,que
responsvelpeladefiniodepolticasefiscalizaodaACRaiz.Entreasatribuiesdo
comitesto:adotarmedidasnecessriaseacoordenaodaimplantaoedo
funcionamentodaICPBrasil,estabelecerapoltica,critriosenormastcnicasparao
credenciamentodasACs,ARsedemaisprestadoresdeserviodesuporteICPBrasil.
OutrasatribuiesincluemoajusteerevisodeprocedimentoseprticasdaICP
Brasilparagarantiracompatibilidadeeatualizaotecnolgicadosistemaeconformidade
comaspolticasdesegurana.
OpapeldaITI,oACRaiz,deexecutordasnormasaprovadaspelocomit,assimcomo
-
emitir,expedir,distribuir,revogaregerenciaroscertificadosdasACdenvelimediatamente
subsequente.TambmcabeaACRaizfiscalizareauditarasACseARsquefazemparte
daICP.
GerandoumCertificadoDigitalPrprioGerarumcertificadoeinclusivenostornarmosanossaprpriaAutoridadeCertificadora
simplescomoveremosnessasesso,bastautilizarmosasferramentascorretascomo
aOpenSSL.
Paraissodevemosprimeiramentebaixla
emhttp://www.slproweb.com/products/Win32OpenSSL.html.SequisermosbaixarparaLinux
devemosbaixlonositewww.openssl.org.
AFigura1mostraapginadedownloadparaplataformaWindowsdoOpenSSL.Escolhaa
primeiraopoWin32OpenSSLv1.0.1iLight.
Figura1.DownloaddoOpenSSL.
-
ApsodownloadeainstalaodoOpenSSLdevemosiratodiretriodeinstalao
doOpenSSLemC:\OpenSSLWin32\bineexecutaroaplicativoopenssl.exe.No
devemosesquecerdeexecutlocomoadministrador,paraissobastaclicarcomoboto
direitodomouseemcimadoconedoprompteclicaremExecutarcomoadministrador.
SeguenaFigura2opromptdecomandodoOpenSSLaberto.
Figura2.PromptdecomandodoOpenSSL.
AbertooaplicativodoOpenSSLpodemoscomeargerandoumcertificadoautoassinado(o
deumaAutoridadeCertificadora)atravsdocomando:
genrsades3outca.key4096
Estecomandogeraumachaversade4096bits,armazenaachavenoarquivoca.keye
protegeestearquivocifrandoocomo3DES.
ApsexecutarocomandoateladaFigura3serexibida,estatelamostraocomando
sendoprocessado.
-
Figura3.ComandosendoprocessadopeloOpenSSLparageraodachaversa.
ApsoprocessamentoserrealizadooopenSSLsolicitaradigitaodaphrasequeir
cifrarestachave.Nopodemosnosesquecerdememorizaraphase.Parafinsdeexemplo
digitamostestphrase.SegueaFigura4,ondemostraasolicitaodaphrase.
Figura4.Solicitaodaphraseparacifrarachave.
Apsissosersolicitadoparaconfirmaraphrasedigitadaanteriormente,apenasdevemos
colocaramesmaphraseconformedigitadoanteriormente.
NaFigura5podemosobservaracriaodoarquivoca.keynodiretrio.
-
Figura5.Arquivoca.keycriadonodiretrio.
Apsissodevemosgerarumcertificadox509queservlidopor10anos(3650dias)que
conterachavepblicadoarquivoca.keyeserarmazenadonoarquivoca.crt.Aps
executarmosocomandosernecessrioentrarmoscomvriasinformaesquefaroparte
docertificado.Portanto,bastaexecutarmosocomandoabaixo:
reqnewx509days3650keyca.keyoutca.crt
Apsexecutarocomandopodemosverificarasolicitaodaphraseconformejdigitado
anteriormente.SegueaFigura6quemostraasolicitaodaphrase.
Figura6.Digitandoocomandoparacriaodocertificadoeopassphrase.
-
Seopassphrasefordigitadoincorretamenteteremosumerroapresentadonatela
conformemostraaFigura7.
Figura7.Passphrasedigitadoincorretamentenageraodocertificado.
DigitandocorretamenteocomandooOpenSSLsersolicitadoparadigitarmosoCountry
Namequedeverconterduasletras.NonossocasodigitamosBRdeBrasilconforme
mostraaFigura8.
Figura8.SolicitaodoCountryNamenageraodocertificado.
ApsissosersolicitadooState.NonossoexemplodigitamosRioGrandedoSul
conformemostraaFigura9.
-
Figura9.SolicitaodoStatenageraodocertificado.
AgorasersolicitadaaCity.NonossoexemplodecertificadocolocamosPortoAlegre
conformemostraaFigura10.
Figura10.SolicitaodaCitynageraodocertificado.
AgorasersolicitadoaOrganizationName.NonossoexemplocolocaremosDevmedia
OrganizationconformemostraaFigura11.
-
Figura11.SolicitaodaOrganizationnageraodocertificado.
AprximasolicitaoparadigitarmosaOrganizationalUnitName.Nonossoexemplo
colocaremosDevmediaCertificationconformemostraaFigura12.
Figura12.SolicitaodaOrganizationalUnitNamenageraodocertificado.
ApsissosersolicitadooCommonName.Nonossoexemplocolocaremosumnome
prprioHigorMedeirosconformemostraaFigura13.
-
Figura13.SolicitaodoCommonNamenageraodocertificado.
AgorasersolicitadooEmailAddress.Nonossoexemplocolocaremosoemail
[email protected],conformemostraaFigura14.
Figura14.SolicitaodoEmailAddressnageraodocertificado.
Podemosverificaracriaodocertificadoca.crtnodiretrioconformemostraaFigura15.
-
Figura15.Geraodocertificadoca.crtnodiretrio.
Clicandoduasvezesnocertificadopodemosverificardiversasinformaescomo:para
quemeporquemocertificadofoiemitido,avalidadedocertificado,oseualgoritmode
assinatura,suaverso,algoritmodeidentificao,chavepblica,entreoutrasinformaes.
AsFiguras16a18mostramocertificadocriadoecadaumadassuasabas.
-
Figura16.InformaesdaabaGeraldocertificado.
-
Figura17.InformaesdaabaDetalhesdocertificado.
-
Figura18.InformaesdaabaCaminhodeCertificaodocertificado.
Apsgerarmosocertificadoraizpodemosgerarumcertificadodeumservidor.Paraisso
devemosexecutarocomandoabaixo:
genrsades3outserver.key4096
Estecomandogeraumachaversaparaoservidor(server.key).AFigura19mostrao
processamentodocomando.
-
Figura19.Processamentodocomandoparageraodachaversaparaoservidor.
Apsissosersolicitadoapassphrase,nessecasodigitaremostestphraseconforme
mostraaFigura20.
Figura20.Solicitaodopassphraseparaserver.keys.
Apsissodevemosconfirmarapassphrasedigitandoamesmapassphrasedigitada
anteriormente.
NaFigura21podemosobservaracriaodoarquivoserver.keynodiretrio.
-
Figura21.Arquivoserver.keycriadonodiretrio.
Aseguirfaremosumarequisiodecertificado(server.csr)comocomandoabaixo:
reqnewkeyserver.keyoutserver.csr
Apsexecutarocomandoacimateremosumasriedesolicitaesparaquepossamos
crialo.Pormprimeiramentedevemosinseriropassphrasedigitadoanteriormente
conformemostraaFigura22.
Figura22.Solicitaodopassphraseparaexecuodocomando.
DigitandocorretamenteocomandooOpenSSLsersolicitadoparadigitarmosoCountry
-
Namequedeverconterduasletras.NonossocasodigitamosBRdeBrasilconforme
mostraaFigura23.
Figura23.SolicitaodoCountryNamenageraodocertificado.
ApsissosersolicitadooState.NonossoexemplodigitamosRioGrandedoSul
conformemostraaFigura24.
Figura24.SolicitaodoStatenageraodocertificado.
AgorasersolicitadaaCity.NonossoexemplodecertificadocolocamosPortoAlegre
conformemostraaFigura25.
-
Figura25.SolicitaodaCitynageraodocertificado.
AgorasersolicitadoaOrganizationName.NonossoexemplocolocaremosDevmedia
OrganizationconformemostraaFigura26.
Figura26.SolicitaodaOrganizationnageraodocertificado.
AprximasolicitaoparadigitarmosaOrganizationalUnitName.Nonossoexemplo
colocaremosDevmediaCertificationconformemostraFigura27.
-
Figura27.SolicitaodaOrganizationalUnitNamenageraodocertificado.
ApsissosersolicitadooCommonName.Nonossoexemplocolocaremosumnome
prprioHigorMedeirosconformemostraaFigura28.
Figura28.SolicitaodoCommonNamenageraodocertificado.
AgorasersolicitadooEmailAddress.Nonossoexemplocolocaremosoemail
-
Figura29.SolicitaodoEmailAddressnageraodocertificado.
Podemosverificaracriaodocertificadoca.crtnodiretrioconformemostraaFigura30.
Figura30.Geraodocertificadoserver.csrnodiretrio.
Feitoissodevemosassinarocertificadocomocertificadoraiz.Paraissodevemosutilizaro
comandoabaixo:
x509reqdays365inserver.csrCAca.crtCAkeyca.keyset_serial10102014outserver.crt
Apsaexecuodocomandoseroapresentadasalgumasinformaeseasolicitao
dopassphrasenovamente,conformemostraaFigura31.
-
Figura31.Execuodaassinaturadocertificadocomocertificadoraiz.
Estecomandoassinaarequisioserver.csrcomocertificadoca.crtegeraum
certificadoserver.crt.Umadiferenaqueestecertificadotemvalidadedeumano(365
dias)eumnmerosrieiguala10102014.
Apstodosessespassosrealizadosjtemosumcertificadodigitalraiz(ca.crt)eum
certificadoparaoservidor(server.crt)quefoiassinadopelanossaprpriaautoridade
certificadora.Parauslostambmprecisaremosdaschavesca.keyeserver.key.
Referncias:
[1]STALLINGS,William.Criptografiaeseguranaderedes:Princpioseprticas,4ed.So
Paulo:PrenticeHall,2008.
[2]Certsign,disponvelemhttp://www.certisign.com.br/certificadodigital
[3]CertificadoDigitalITI.Disponvelemhttp://www.iti.gov.br/certificacaodigital/certificado
digital