[Perl] Variables de ambiente

Salvador Ortiz Garcia sog@msg.com.mx
10 Jul 2002 18:43:02 -0500


On Wed, 2002-07-10 at 17:08, Jose Antonio Galicia wrote:
> On 10 Jul 2002, Salvador Ortiz Garcia wrote:
>=20
> > x509 al cliente, el certificado que se le presenta al servidor es el de=
l
> > usuario y puedes asumir, en un implementaci=F3n como dios manda, que =
=E9ste
>=20
>  S=ED, pero lo que se autentifica es donde reside el
> certificado y no la persona que esta operando la m=E1quina.
> Al revizar el contenido del certificado puedes saber muchas
> cosas y *confias* que quien usa la m=E1quina sea quien debe
> ser.
No, las CA no certifican m=E1quinas.
>=20
> > identifica en forma univoca al usuario del otro lado.
>=20
>  A la m=E1quina, =BFno? O algo no entend=ED de las
> especificaciones.

Por partes, una CA emite certificados de varios clases, pero
fundamentalmente a dos entidades distintas: m=E1quinas (servidores) o
personas (clientes), y eso queda codificado en en [ns]certType y en el
keyUsage.

El c=F3mo se usan esos certificados depende del protocolo/aplicaci=F3n en
cuesti=F3n, pongo dos ejemplos:

En HTTPS los certificados tienen dos usos distintos, el del servidor,
obligatorio, se usa para autentificar a la entidad (p.e. empresa) que lo
controla y es usado para establecer el canal SSL (ah=ED el del cliente NO
juega). El del cliente, opcional, se asume emitido a una persona, no a
una m=E1quina y su =FAnica funci=F3n es precisamente autentificar a esa
persona.

En SMIME, en cambio, no existe canal SSL, la comunicaci=F3n se asume entre
personas, ambos con certificado de cliente, y estos se usan para firmas
digitales, norecusaci=F3n y encriptado de llaves sim=E9tricas.

No olvidemos, por otra parte, que un certificado x509 no es otra cosa
que la llave p=FAblica de una entidad firmada por la CA, mientras que la
respectiva llave privada debe, por definici=F3n, ser de uso _exclusivo_ de
la entidad correspondiente, de ah=ED que en el caso de servidores, la
llave privada pudiera no estar protegida o encriptada, pero en el caso
de personas, la llave privada debe estarlo (ve PKCS#5).

>  En ese caso, =BFc=F3mo se llevan su certificado? Esto se pone
> interesante :)

En una implementaci=F3n t=EDpica, el generador de llaves _debe_ encriptar l=
a
llave privada solicitando al usuario una frase, y esta ser guardada o
cuando menos ser exportable en formato PKCS#8 (o PKCS#12 si va junto con
el certificado). De forma que el usuario puede usarla/instalarla en
todas las maquinas que requiera.

En una implementaci=F3n m=E1s segura, las llaves privadas son generadas y
encriptadas dentro del "dispositivo de autentificaci=F3n", comunmente una
"smartcard" y nunca sale de ah=ED y el usuario la anda cargando a todas
partes.

En cualquier caso, para poder usar su certificado, el usuario necesitar=E1
la llave privada, y al momento de abrila, lo est=E1s autentificando.

Saludos.

Salvador Ortiz.