Você está na página 1de 19

Criptografia

Objetivos
Garantirqueumamensagemouinformaosserlidaecompreendidapelo destinatrioautorizadoparaisso Confidencialidade o Garantirqueoacessoinformaosejafeitosomenteporpessoas autorizadas Integridade o Garantiadequeosdadosnoforamalteradosdesdesuacriao Disponibilidade o Garantiadequeainformaoestardisponvelparaaspessoasautorizadas quandoestasprecisaremdainformao Norepdio/irrefutabilidade/irretratabilidade o Previnequealgumnegueoenvioe/ourecebimentodeumamensagem o Autenticaodeusuriosporsenhanogaranteonorepdio,poisnoprova aautoriadaoperao,nopossvelsabermosquemdigitouasenha Autenticidade o Garantiadaorigemdainformao Usabilidade o Prevenirqueumserviotenhasuausabilidadedeterioradadevidosegurana Tempestividade o Possibilidadedecomprovarqueumeventoeletrnicoocorreuemum determinadoinstante. entidadeprotocolizadoradigital Vulnerabilidade o Fraquezaquepodeserexploradaparaviolarumsistemaouinformaesque estecontm o Pontosfracosnasegurana PrincpiosCriptogrficosbyTanenbaum(TRF2Regio) o Redundncia=mensagensdevemconterredundncia o Atualidade=algummtododeveserimplementadoparaanularataquesde repetio Textopleno/textoclaro(plaintext) o Mensagemantesdesercriptografada Textocifradooucriptografado o Textoresultantedeumalgoritmodecriptografiasobreumtextopleno Chave o Mensagemutilizadaporalgunsalgoritmosdecriptografiaparagerarotexto cifrado Cifra o Algoritmodeencriptaoquecombinaainformaocontidanachavepara codificarumtextocifradodeformaquenosejapossvelobterotextopleno originalsemapossedestamesmachave Criptoanlise o Tcnicasparadecodificarumamensagemsempossuirachave Esteganografia=artedeocultaraexistnciadamensagem 1

PrincpiosBsicos

Conceitos

TiposdeCriptografia(acriptografiagaranteosigilo) SegredoBaseadoemAlgoritmos
Baseiaseemusarumprocessoqueapenasosenvolvidosconheamparacifrarotexto pleno.Nousachaves,quemsouberoalgoritmosabedecifraresocomputacionalmente fceisdequebrar Acifradesubstituioconsisteemdeslocaroalfabetoalgumasletrasparafrente Acifradepermutao(transposio)consisteemembaralharasletrasdaprpria mensagem o JOO=OJO

CifradeCsar
umacifradesubstituiomonoalfabtica(utilizaapenasumalfabeto).Oexemplo abaixomostraumaC3,ouseja,cifradecsarquedeslocaoalfabetotrsletrasfrente. UtilizandoC3nafraseMANEHGAYobtemosPDQHKJDB.Lembresequevocpodeutilizar qualquerdeslocamentoC1,C3276,C666.AcifradeCsarpodeserfacilmentequebrada utilizandoanlisedefreqncia. TambmconhecidacomoROTXqueconsisteemdeslocaroalfabetoparaadireitaX casas.Desses,oROT13omaisconhecido.

CifradeVigenre

umacifradesubstituiopolialfabtica(utilizamaisdeumalfabeto)queutiliza26 alfabetoseumachavealfabtica.Aanlisedefreqncianoquebraacifra,pormaanlise deperodopodeserutilizadaparaquebraracifra.Atabelade26alfabetosabaixoautilizada nacifra.Aprimeiracolunacorrespondeaumdeslocamentozeroealtimaa25:

Umamensagemcifradacombinandoalinhadachavecomalinhadacoluna,por exemplo,amensagemMANEHGAYcomachaveJOAOcifradadaseguinteforma:

Oprocessodedecifrarexatamenteooposto.

CifradeGronsfeld(ouGrosfeld?)
umavariaodacifradeVigenreque,aoinvsdeusarumachavealfabtica,utiliza umachavenumrica.OProcessodeencriptarumamensagemanlogoaodacifrade Vigenre.Utilizandoumachave4321,aprimeiraletradamensagemsersubstitudaporuma queesteja4posiesfrente:

OneTimePads
DescriodolivroCISSP: Consisteemescolheraleatoriamenteumachavealfabticasemrepetiesdotamanhoda mensagem(impossvelparamensagenslongas,utilizaselongaschavesaleatriascom perodosgrandes)esomarmodulo26cadacaracteredamensagemacadacaracteredachave. DescriodoTanenbaum: Consisteemescolherumachavedebitsaleatria,converteramensagemoriginalembits, utilizandoASCII,porexemplo,efazeroXORentreachaveeamensagembitabit.Segundoo nossoamigoTanenbaumacifrainquebrvel...

CifraGarrafadeCerveja
baseadanaquelamsicaqueosbbadosestadunidensescantam:99garrafasde cervejanaparedeblblbl.Paramaioresinformaesconsulteolinkabaixo: http://www.gris.dcc.ufrj.br/artigos/GRIS2005A004.pdf

CriptografiaSimtrica
Utilizaamesmachaveparacriptografaredecriptografarasmensagens.Podemserde blocosoudefluxo: DeBloco(DES,3DES,RC2,entreoutros) o Pegamumblocodenbitsdotextoplenocomoentradaeotransformaemum blocodenbitsdetextocifrado. o Somaislentosqueosdefluxo DeFluxo(RC4,entreoutros) o Criptografamumtextoplenobitabit o Somaisrpidosqueosdebloco Vantagemdacriptografiasimtrica o Rapideznacriptografiaedecriptogtafiadasinformaes Desvantagem o Achavesecretadevesertransmitidaoucomunicadaparaoreceptor, tornandoamaisvulnervelafurtos. 3

DESDataEncryptionStandard
Algoritmocriptogrficodeblocoqueutilizablocosde64bitsechavesde56bits o Oalgoritmotransformaumaentradade64bitsdotextoclaro,apsvrios passos,emumasadacifradade64bits.Osmesmospassos,comasmesmas chavessoutilizadosparadecifrarotexto. o Aschavessode56bits+8bitsparapreencher,massomente56bitsso usados Operaem16roundsalmdapermutaoinicialedapermutaofinal(queainversa dainicial) UtilizaXOReSBoxes(estruturaFeistel) ODESumalgoritmoultrapassadoejfoiquebrado
64bitschave(56+8) 64
Escolhapermutada1

64bitstextoclaro 64

PermutaoInicial
64


Round1 64 Round2

K1

48 Escolhapermutada

56

56
Shiftcircularesquerda

K2

48 Escolhapermutada 48 Escolhapermutada

56

56
Shiftcircularesquerda

Round16 64 32bitswap 64

K16

56

56
Shiftcircularesquerda

PermutaoFinal
64

64bitstextocifrado

EfeitoAvalanche
umapropriedadedesejvelemqualqueralgoritmocriptogrfico.Umapequena mudananotextoclarodeveproduzirumamudanasignificativanotextocifrado. ODESpossuitalpropriedade. Umapequenamudanade1bitnotextoclaroproduztextoscifradosbastante diferentes Omesmoocorrequandoamudanade1bitnachaveutilizada

TripleDES3DES
JqueoDESfoiquebrado,foidesenvolvidoo3DES,queutilizablocosde64bitse chavesde56,112ou168bits.OTripleDESbasicamenteoDES3vezes.umalgoritmo largamenteutilizado. Comduaschavesdistintas=112bits(encriptadecifraencripta=EDE) o ummtodocompatvelcomoDEStradicional o C=E(K1,D(K2(E(K1,P))) o Umataquedeforabrutaimpraticvel,2112chavesdistintas,consumiria muitotempo Comtrschavesdistintas=168bits(EDE) o C=E(K3,D(K2,E(K1,P))) o PodesercompatvelcomoDESsefazendoK3=K2ouK1=K2

ModosdeOperaodasCifrasdeBloco
ElectronicCodebook(ECB)
Cadablocode64bitscifradoindependentementecomamesmachave ummtodobomparapequenasquantidadesdedados.Paramensagenslongaspode serummtodoinseguro. o Ocriptoanalistapodeseaproveitardaregularidade Acaractersticamaissignificantequeseomesmoblocobdetextoclaroaparece maisdeumaveznamensagem,otextocifradogeradoidntico o Elenoescondepadresdedadosdemaneiraadequada o Podegerarrepetiesquefacilitamosataques Ocorreapropagaodeerros ObservaoTST2007: o Otextoclarocombaixaentropiaumtextocommuitasrepeties Entropiaamedidadedesordem o Muitasrepeties=muitospadresiguais=textocifradoigual(devido caractersticadoECBdegerarcdigoigualparatextosiguais) Tempo=2 P2 cifrar C2 ... Tempo=N PN cifrar CN K Tempo=N CN

Tempo=1 P1 cifrar C1

decodificar PN

CipherBlockChaining(CBC) Chaining(CBC)
Tcnicanaqualomesmoblocodetextoclaro,serepetidonamensagem,produz diferentesblocosdetextocifrado AentradadoalgoritmodecodificaooXORdoblocodetextoclaroatualcomo anterior Utilizaumvetordeinicializao(IV)paracifraroprimeirobloco o IVdeveserconhecidopelotransmissorepeloreceptor,masimprevisvelpara terceiros ummodoapropriadoparacifrarmensagenslongas OCBCpermiteaconstruodeMACmessageauthenticationcode o MACsemelhanteaohash,conhecidotambmcomohashcomchave Ocorreapropagaodeerros Tempo=1 K K cifrar C1 Tempo=1 C1 decifrar K decifrar K cifrar C2 Tempo=2 C2 K cifrar CN Tempo=N CN IV P1 Tempo=2 P2 Tempo=N PN CN1

...

...

decifrar

IV

P1

P2

CN1

PN

CipherFeedback(CFB)
PossibilitaoDESfuncionarcomoumalgoritmodefluxo Utilizaumvetordeinicializaoparaoprimeiropasso Aentradashiftregister(vetordeinicializaoIV) o IVcifrado o OssbitsmaissignificantesdasadadacifrapassamporumXORcomo primeirosegmentodotextoclaro(P1)eproduzoprimeirosegmentocifrado C1 OshiftregisterdeslocadoemsbitseC1colocadoemseusbits menossignificativos,eassimsucessivamente

OutputFeedback(OFB)
ModosemelhanteaoCipherFeedbackmode Avantagemqueestemtodonopropagaerros Adiferenaaentradanospassos2emdiante:

CounterMode(CTR)
Temosumcontadordetamanhoigualaotamanhodoblocodetextoclaro Paracadablocoasercifrado,ocontadorincrementadoem1 Cifrar: o Contador+chavesocifrados o SadapassaporXORcomoblocodetextoclaro=textocifrado Decifrar: o Contador+chavesocifrados o AsadapassaporXORcomoblococifradoeasadaotextoclaro OCTRpermiteparalelismo(hardwareesoftware)oqueaumentaothroughput Permiteprprocessamento Permiteacessoaleatrio o Ouseja,oblocoCKpodesercifradoindependentedosoutrosblocos toseguroquantoosoutrosmodosesimples

Blowfish
Algoritmodeblocoqueutilizachavesde32at448bitscomumblocode64bits Operaem16rounds

AESAdvancedEncryptionStandard
AlgoritmoRijndael CifradeblocodesenvolvidaparasubstituiroDES(3DES) o PodeoperarnosmodosECB,CBC,CFB,OFBeCTR(assimcomoqualqueroutro algoritmodebloco) Utilizachavesde128,192ou256bitseblocosde128bits NoutilizaaestruturaFeistel OAESfoidesenvolvidoparaterasseguintescaractersticas o Resistnciaatodososataquesconhecidos o Velocidade/cdigocompactoemvriasplataformas o Simplicidadededesign Cadaroundutiliza4funesseparadamente o Substituiodebytes o Permutao o Operaesaritmticasdecorposfinitos(finitefields) o XORcomumachave

Keysize 4/16/128 6/24/192 8/32/256 (words/bytes/bits) Plaintextblocksize 4/16/128 4/16/128 4/16/128 Rounds 10 12 14

10

11

CifrasdeFluxo
Socifrasqueoperambitabitoubyteabyteesomaisrpidasqueascifrasdebloco.

RC4RivestCipher4ouRonsCode4
Utilizachavesde8a2048bits,porpadro128bits oalgoritmoutilizadonosprotocolosWEP(wiredequivalencyprotection)enoWPA (wifiprotectedaccess),tambmsuportadopeloSSL/TLS,peloKerberos,entre outros Utilizaumgeradorpseudorandmicoparagerarumfluxodebitsqueutilizadocomo chaveokeystream o Autilizaodomesmokeystreamumrisco,poistornaoalgoritmo vulnervelaumasriedeataques Paracifraredecifrar,bastautilizarXORentreachaveeotextoclaro/cifrado Gerador de chave
Keystream
Fluxode textoclaro

Fluxode textocifrado

12

CriptografiaAssimtrica
Tambmconhecidacomocriptografiadechavepblica Utilizaduaschavesdiferentes,umapblicaeaoutraprivada Acriptografiaassimtricapermitegarantiraconfidencialidadee/ouaautenticidadeda mensagem(osmtodosserodescritosmaisdetalhadamentenosprximostpicos) ChavepblicadeManoel ChavePrivadadeManoel

MSG

Algoritmo Criptogrfico Joo

MSG cifrada

Algoritmo Criptogrfico Manuel

MSGoriginal

Mtodoquegarante confidencialidade

ChavePrivadadeManoel

ChavePblicadeManoel

MSG

Algoritmo Criptogrfico Manuel

MSG assinada

Algoritmo Criptogrfico Joo

MSGoriginal

Mtodoquegarante autenticidade

13

RSA(Rivest,Shamir,Adleman)
umalgoritmodeblocosbaseadonafatoraodenmerosprimosmuitograndese exigechavesdepelomenos1024bitsparasersegurooqueotornalentoemcomparaocom osalgoritmossimtricos.Suportachavesdeat2048bits. Normalmenteutilizadoemconjuntocomalgumalgoritmosimtrico,eleutilizado paracodificarachaveprivada(chamadadechavedesesso)queserutilizadapeloalgoritmo simtrico.muitoutilizadoemassinaturasdigitaisemconjuntocomalgumalgoritmode hash. utilizadopeloprotocoloPGPprettygoodprivacy. GeraraChave 1. 2. 3. 4. Escolhapeq primosepq Calculen=pxq Calculez=(p1)x(q1) Escolhae,talquemdc(z,e)=1e1<e<z,ouseja,zeesoprimosentresi
1

5. Calculede (modz) dxe=1modz 6. ChavepblicaPU={e,n};ChaveprivadaPR={d,n} Cifrar TextoclaroM<n e TextocifradoC=M modn

Decifrar TextocifradoC d TextoclaroM=C modn EXEMPLO: 1. 2. 3. 4. 5. 6.

Oemissordeveconhecereenenquanto queoreceptordeveconhecerden.

p=3;q=11 n=3x11=33 z=(31)x(111)=20 escolhie=7 exd=1modz 7d=1(mod20) d=3 C=M7mod20;M=C3mod20

14

DiffieHellmanKeyExchange
umalgoritmoquepermiteatrocaseguradeumachavesecretaentredois usurios o Baseadoemlogaritmosdiscretos(...) Elementospblicos q nmeroprimo <qeumaraizprimitivadeq UsurioB EscolheXB XB<q(mantmemsegredo) CalculaYB YB=XBmodq(pblico) ClculodachavesecretaporB K=(YA)XBmodq

UsurioA EscolheXA XA<q(mantmemsegredo) CalculaYA YA=XAmodq(pblico) ClculodachavesecretaporA K=(YB)XAmodq

Umatacanteteriaacessoaq,,YAeYB o ParaacharachaveKeleteriaqueconseguircalcular,porexemplo, XB=dlog,q(YB);oquecomputacionalmenteimpraticvel

EXEMPLO: q=353;=3;XA=97;XB=233 AcalculaYA=397mod353=40 BcalculaYB=3233mod353=248 AcalculaK=24897mod353=160 BcalculaK=40233mod353=160 Oatacantetememmosq;;YAeYB a b Eleteriaquecalcular3 mod353=40ou3 mod353=258;noexemplofacilmentecalculado,mas paranmerosgrandesimpraticvel.

EllipticCurveCryptographyECC
ummtodosemelhanteaoDiffieHellmanparatrocadechavesque,aoinvsde logaritmosdiscretos,baseadoemcurvaselpticas.

15

MessageAuthenticationCodesMAC(garantemintegridadeeautenticidade)
Mtodoqueutilizaumachavesecretaeamensagemparagerarumpequeno blocodetamanhofixo(checksumcriptogrfico/MAC)queanexadomensagem OalgoritmoMAC,diferentedosalgoritmoscriptogrficos,noprecisaser reversvel,emgeralsofunesumparamuitos. AeBcompartilhamumachavesecretaK o AcalculaoMACdamensagemquequerenviarparaB MACA=C(K,M) MAC=messageauthenticationcode C=funoMAC K=chavesecreta M=mensagem o Aenviaamensagem+MACparaB o BfazomesmoclculoqueA(MACB=C(K,M))ecomparaMACArecebido comoMACBcalculado o SeosMACsforemiguaisentoamensagemintegra(MACA=MACB)e autntica(sAeBsabemK)

HMACHashMessageAuthenticationCode
AlgoritmoparacalcularMessageAuthenticationCodesbaseadoemfuneshash Eleindependentedafunohashutilizada,ouseja,podemosutilizaroHMACcom qualquerfunohashquedesejarmos.Afiguraabaixo(Wikipdia)ilustraoHMACde formasimplificada: K=chave m=mensagem ipad=00110110=36emhexadecimal;oipadrepetido onmerodebitsdobloco/8vezes opad=01011100=5Cemhexadecimal;oopadrepetido onmerodebitsdobloco/8vezes hafunohash

16

AlgoritmosdeHash(garantemintegridade)
Osalgoritmosdehashsobaseadosemfunesmatemticasdeumsentido,ouseja, dadaumaentradax,afunogeraumasadayeapartirdeypraticamenteimpossvelgerar aentradax.Entendapraticamenteimpossvelcomomatematicamenteimprovvel. Nateoria,duasentradasdiferentesnuncavogerarsadasiguais,oqueseriauma coliso.Naprticasabemosquecolisesacontecem. Taisalgoritmosrecebemumaentradadetamanhovariveleproduzemumasadade tamanhofixo.

MD5(RFC1321)
umalgoritmodehashqueproduzumasada(resumodamensagem,fingerprintou messagedigest)de128bits,muitoutilizadoporsoftwaresP2P,naverificaodeintegridade dearquivoseemlogins(aoinvsdeguardarasenhanobancodedados,guardaseohashda senha). Apesardelargamenteutilizado,vriascolisesjforamdetectadas

SHA(SecureHashAlgorithm)
Algoritmodehashlargamenteutilizado.Atabelaabaixoresumebemasvriasverses existentes.AFCCconsiderouemumadesuasprovasoSHA1comooalgoritmodehashmais seguroexistente.

TabelaemprestadadoStallings

Whirlpool
Algoritmodehashcujafunodecompressobaseadaemumalgoritmo criptogrficosimtricodebloco,oAES(Rijndael).Eleproduzummessagedigestde512bits.

17

AssinaturaDigital(Integridade,autenticidade,norepdio)
Opropsitodaassinaturadigitaldetectarmodificaesnoautorizadasnosdadose autenticaraidentidadedossignatrios,garantindoonorepdio. Utilizaseacriptografiaassimtricaeosalgoritmosdehash Garanteaintegridade,aautenticidadeeonorepdiodasmensagensassinadas Funcionamento: o Calculaseomessagedigestdamensagemusandoumafunodehash o Cifraseomessagedigestcomachaveprivadadoemissor o Juntaseamessagedigestcifradacomamensagemoriginaleenviaparao receptor o Oreceptordecifraomessagedisgestusandoachavepblicadoemissor o Oreceptorcalculaomessagedigestdamensagemrecebidausandoamesma funodehashdoemissor,seomessagedigestobtidoforidnticoaoenviado peloemissor,entoamensagemintegraeautntica.

CertificadosDigitais
ACertificaoDigitalumprocessoquegarante,deformanica,aidentidadede umapessoaoudeumcomputador.Acertificaodigitalgarantidaporumterceirode confiana:umainstituioconhecida,normalmente,comoCA(AutoridadeCertificadora).A CertificaoDigitalsebaseianaexistnciadedocumentoschamadosCertificadosDigitaispara cadaindivduoaserautenticado. UmCertificadoDigitalumdocumento(umarquivoemseucomputador,porexemplo) queguardainformaessobreseutitulareatestado(garantido)porumaAutoridade Certificadora. Amarramindivduosasuasrespectivaschavespblicas Autoridadecertificadora(CA) o Verificaaidentidadedeumapessoaeemiteumcertificadoqueatestaquea chavepblicadestapessoa o Assinaocertificadocomsuaprpriachaveprivada Verificaseaprocednciadamensagemseachavepblicadoemissordecifraros dados Oscertificadossoenviadosparaumrepositrioqueguardaoscertificadoseaslistas decertificadosrevogados Oscertificadossorevogadosquando: o Achavesecretadousuriofoicomprometida o Dadospessoaisdousuriosoalterados o Usurionoquermaissercertificado o OcertificadodaCAfoicomprometido o Ousurioviolouapolticadesegurana ParaverificaraassinaturadaCA,achavedelacrosscertifiedporoutraCA Avalidadedeumcertificadoverificadajuntoautoridadecertificadoraqueoemitiu, nuncadeformaindependentedaCA.

18

InfraestruturadeChavesPblicas(ICP)/PublicKey Infrastructure(PKI)
UmaPKIumconjuntoderegras,tcnicas,prticaseprocedimentosqueexisteparagerar garantiasaosseususurios.UmaPKI,emsuma,umagrandecadeiadeconfianaemque, quandoseconfiaemumdeseuscomponentes,seestconfiandotambm,emtodaaPKI. PortalICPBrasil:https://www.icpbrasil.gov.br/ UmaPKIformadapor: UmaAutoridadeCertificadoraRaiz(CARaiz):otopodaPKI,todososcomponentesda PKIconfiamnaCARaiz.Elaognesedetodaaconfiana.ACARaizemite certificadosatestandoaautenticidadedasCAsintermediriaseaCARaizauto certificada(ouseja,elaemiteseuprpriocertificado),masaACRaiznopodeemitir certificadosparausuriosfinais(comositesoupessoasfsicas). AutoridadesCertificadorasIntermedirias(CA):SosubordinadasCARaizetm seuscertificadosemitidosporesta.AsCAssoentidadespblicasouprivadascom estruturafsicaseguraosuficienteparaguardar,sigilosamente,osdadosdeseus clientes(certificados).umaCAintermediriaqueemiteoscertificadosparaos usuriosfinais. AutoridadesdeRegistro(AR):umainstituio,associadaaumaAC,querecebeas solicitaesdeemissodecertificadosdosusuriosqueosrequereme,casoopedido sejaconsideradovlido,orepassaparaaCAIntermediriaemitirocertificado. Usurios:pessoas/empresas/sitesquesebeneficiamdouniversodeconfianada PKI,sooscomponentesquesolicitaroeutilizarocertificadosemitidospelasCAs daquelaPKI.Confiarnumcertificadodeumusurioqualquerrequerconfianaem todososnveisdaquelecertificado,desdeaACRaiz. DPC(DeclaraodePrticasdeCertificao):documento,ligadoasCAs,que especificaoscritriostcnicosdaestruturadecertificao,como:algoritmosusados, tamanhodaschaves,validadedoscertificados,tempomximodepublicaodaLCR (ListadosCertificadosRevogados),critriosparaaemissodoscertificados, documentosexigidos,etc..ADPCrevisadaerepublicadavriasvezesesuas diretrizesdeterminamcomoelavaiagirparaemitir,revogarourenovarcertificados.

19