Ir al contenido

Diferencia entre revisiones de «Kerberos»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Etiqueta: posibles pruebas de edición
MissWinzhi (discusión · contribs.)
Función de sugerencias de enlaces: 3 enlaces añadidos.
Etiquetas: Edición visual Edición desde móvil Edición vía web móvil Tarea para novatos Sugerencia: añadir enlaces
 
(No se muestran 15 ediciones intermedias de 8 usuarios)
Línea 26: Línea 26:


== Etimología ==
== Etimología ==
El nombre se deriva del [[Cerbero]] ([[griego antiguo]] Κέρβερος ''Kérberos'', ‘[[demonio (mitología)|demonio]] del pozo’), el [[perro]] guardando la puerta del reino de [[Hades]] en la [[mitología griega]].
El nombre se deriva del [[Canis lupus familiaris|can]] [[Cerbero]] ([[griego antiguo]] Κέρβερος ''Kérberos'', ‘[[demonio (mitología)|demonio]] del pozo’), el [[perro]] guardian de la puerta del reino de [[Hades]] (o inframundo) en la [[mitología griega]].
互联网不是一个安全的地方。 Internet上使用的许多协议都不提供安全功能。恶意黑客通常使用工具来跟踪和获取网络密码。因此,通过网络发送未加密密码的应用程序极易受到攻击。更糟糕的是,某些客户端/服务器应用程序依赖于使用其身份的用户的诚实性。

一些站点尝试使用防火墙解决网络安全问题。不幸的是,防火墙的专有使用基于“恶棍”在外面的假设,这通常是不正确和危险的假设。许多最严重的计算机犯罪都是在受攻击的公司内部执行的。防火墙还具有很大的缺点,因为它们限制了Internet用户使用受其保护的Internet的方式。毕竟,防火墙只是裁定没有比从网络断开的计算机更安全的裁决的极端例子。但是在很多情况下,这些限制根本不可能被假定。

Kerberos是由MIT创建的,用于解决这些网络安全问题。 Kerberos协议使用强大的加密技术,以便客户端可以通过不安全的网络连接向服务器展示其身份(反之亦然)。在客户端/服务器设法通过Kerberos证明其身份之后,他们还可以加密所有通信以确保交换数据的私密性和完整性。

Kerberos在MIT可以免费获得Kerberos,其版权许可与BSD操作系统和X Window System所使用的版权许可非常相似。 MIT提供了Kerberos源代码,以便任何想要使用它的人都可以研究该代码,从而确保该代码是可信赖的。此外,对于那些希望依靠具有专业支持的产品的人来说,可以通过许多不同的发行商将Kerberos作为商业产品使用。

总之,Kerberos是解决某些网络安全问题的解决方案。通过网络提供身份验证工具和增强的加密技术,以帮助确保公司或公司的信息系统受到良好的保护。
Hùliánwǎng bùshì yīgè ānquán dì dìfāng. Internet shàng shǐyòng de xǔduō xiéyì dōu bù tígōng ānquán gōngnéng. Èyì hēikè tōngcháng shǐyòng gōngjù lái gēnzōng hé huòqǔ wǎngluò mìmǎ. Yīncǐ, tōngguò wǎngluò fāsòng wèi jiāmì mi mǎ de yìngyòng chéngxù jí yì shòudào gōngjí. Gèng zāogāo de shì, mǒu xiē kèhù duān/fúwùqì yìngyòng chéngxù yīlài yú shǐyòng qí shēnfèn de yònghù de chéngshí xìng.

Yīxiē zhàndiǎn chángshì shǐyòng fánghuǒqiáng jiějué wǎngluò ānquán wèntí. Bùxìng de shì, fánghuǒqiáng de zhuān yǒu shǐyòng jīyú “ègùn” zài wàimiàn de jiǎshè, zhè tōngcháng shì bù zhèngquè hé wéixiǎn de jiǎshè. Xǔduō zuì yánzhòng de jìsuànjī fànzuì dōu shì zài shòu gōngjí de gōngsī nèibù zhíxíng de. Fánghuǒqiáng hái jùyǒu hěn dà de quēdiǎn, yīnwèi tāmen xiànzhìle Internet yònghù shǐyòng shòu qí bǎohù de Internet de fāngshì. Bìjìng, fánghuǒqiáng zhǐshì cáidìng méiyǒu bǐ cóng wǎngluò duàn kāi de jìsuànjī gèng ānquán de cáijué de jíduān lìzi. Dànshì zài hěnduō qíngkuàng xià, zhèxiē xiànzhì gēnběn bù kěnéng bèi jiǎdìng.

Kerberos shì yóu MIT chuàngjiàn de, yòng yú jiějué zhèxiē wǎngluò ānquán wèntí. Kerberos xiéyì shǐyòng qiángdà de jiāmì jìshù, yǐbiàn kèhù duān kěyǐ tōngguò bu ānquán de wǎngluò liánjiē xiàng fúwùqì zhǎnshì qí shēnfèn (fǎnzhī yì rán). Zài kèhù duān/fúwùqì shèfǎ tōngguò Kerberos zhèngmíng qí shēnfèn zhīhòu, tāmen hái kěyǐ jiāmì suǒyǒu tōngxìn yǐ quèbǎo jiāohuàn shùjù de sīmì xìng hé wánzhěng xìng.

Kerberos zài MIT kěyǐ miǎnfèi huòdé Kerberos, qí bǎnquán xǔkě yǔ BSD cāozuò xìtǒng hé X Window System suǒ shǐyòng de bǎnquán xǔkě fēicháng xiāngsì. MIT tígōngle Kerberos yuán dàimǎ, yǐbiàn rènhé xiǎng yào shǐyòng tā de rén dōu kěyǐ yánjiū gāi dàimǎ, cóng'ér quèbǎo gāi dàimǎ shì kě xìnlài de. Cǐwài, duìyú nàxiē xīwàng yīkào jùyǒu zhuānyè zhīchí de chǎnpǐn de rén lái shuō, kěyǐ tōngguò xǔduō bùtóng de fǎ xíng shāng jiāng Kerberos zuòwéi shāngyè chǎnpǐn shǐyòng.

Zǒngzhī,Kerberos shì jiějué mǒu xiē wǎngluò ānquán wèntí de jiějué fāng'àn. Tōngguò wǎngluò tígōng shēnfèn yànzhèng gōngjù hé zēngqiáng de jiāmì jìshù, yǐ bāngzhù quèbǎo gōngsī huò gōngsī de xìnxī xìtǒng shòudào liánghǎo de bǎohù.


== Descripción ==
== Descripción ==
Kerberos se basa en el [[Protocolo Inventado por YOMJ "kERBEROS"]]. Usa un [[tercero de confianza]], denominado "centro de distribución de claves" (KDC, por sus siglas en [[Idioma inglés|inglés]]: ''Key Distribution Center''), el cual consiste de dos partes lógicas separadas: un "servidor de autenticación" (AS o ''Authentication Server'') y un "servidor emisor de tickets" (TGS o ''Ticket Granting Server''). Kerberos trabaja sobre la base de "tickets", los cuales sirven para demostrar la identidad de los usuarios.
Kerberos se basa en el [[Protocolo de Needham-Schroeder|protocolo de clave simétrica de Needham-Schroeder]]. Usa un [[tercero de confianza]], denominado "centro de distribución de claves" (KDC, por sus siglas en [[Idioma inglés|inglés]]: ''Key Distribution Center''), que consta de dos partes lógicas independientes: un "servidor de autenticación" (AS o ''Authentication Server'') y un "servidor emisor de tickets" (TGS o ''Ticket Granting Server''). Estos "tickets" se utilizan para verificar la identidad de los usuarios.


Kerberos mantiene una [[base de datos]] de claves secretas; cada entidad en la red —sea cliente o servidor— comparte una clave secreta conocida únicamente por él y Kerberos. El conocimiento de esta clave sirve para probar la identidad de la entidad. Para una comunicación entre dos entidades, Kerberos genera una [[clave de sesión]], la cual pueden usar para asegurar sus problemas.
Kerberos mantiene una [[base de datos]] de claves secretas; cada entidad de la red posee una clave secreta, conocida únicamente por ella y Kerberos, con la que demuestra su identidad. Para una comunicación entre dos entidades, Kerberos genera una [[clave de sesión]] que pueden usar para cifrar sus comunicaciones.


== Motivación ==
== Motivación ==
Línea 58: Línea 40:
Kerberos fue creado por el [[MIT]] como una solución para estos problemas de seguridad de la [[Red de computadoras|red]]. El [[Protocolo (informática)|protocolo]] de Kerberos usa una [[criptografía]] fuerte con el propósito de que un cliente pueda demostrar su identidad a un [[servidor]] (y viceversa) a través de una conexión de red insegura. Después de que un [[cliente (informática)|cliente]]/[[servidor]] han conseguido a través de Kerberos demostrar su identidad, también pueden cifrar todas sus comunicaciones para garantizar la privacidad y la integridad de los [[datos]] intercambiados.
Kerberos fue creado por el [[MIT]] como una solución para estos problemas de seguridad de la [[Red de computadoras|red]]. El [[Protocolo (informática)|protocolo]] de Kerberos usa una [[criptografía]] fuerte con el propósito de que un cliente pueda demostrar su identidad a un [[servidor]] (y viceversa) a través de una conexión de red insegura. Después de que un [[cliente (informática)|cliente]]/[[servidor]] han conseguido a través de Kerberos demostrar su identidad, también pueden cifrar todas sus comunicaciones para garantizar la privacidad y la integridad de los [[datos]] intercambiados.


Kerberos está disponible gratuitamente en el [[MIT]], bajo permisos de derechos de autor muy similares a aquellos que usaron para el sistema operativo de [[BSD]] y el [[X Window System]]. El [[MIT]] provee el código fuente de Kerberos con el propósito de que quienquiera que desee usarlo pueda estudiar el código y así asegurarse de que el código es digno de confianza. Además, para aquellos que prefieren depender de un producto con un soporte profesional, Kerberos está disponible a través de muchos distribuidores diferentes como producto comercial.
Kerberos está disponible gratuitamente en el [[MIT]], bajo permisos de derechos de autor muy similares a aquellos que usaron para el [[sistema operativo]] de [[BSD]] y el [[X Window System]]. El [[MIT]] provee el [[código fuente]] de Kerberos con el propósito de que quienquiera que desee usarlo pueda estudiar el código y así asegurarse de que el código es digno de confianza. Además, para aquellos que prefieren depender de un producto con un soporte profesional, Kerberos está disponible a través de muchos distribuidores diferentes como producto comercial.


En resumen, Kerberos es una solución para ciertos problemas de seguridad de la [[Red de computadoras|red]]. Provee las herramientas de autenticación y [[criptografía]] reforzada a través de la red para ayudar a asegurar que los sistemas de información de una empresa o corporación estén bien resguardados.
En resumen, Kerberos es una solución para ciertos problemas de seguridad de la [[Red de computadoras|red]]. Provee las herramientas de autenticación y [[criptografía]] reforzada a través de la red para ayudar a asegurar que los sistemas de información de una empresa o corporación estén bien resguardados.
Línea 64: Línea 46:
== Cómo funciona ==
== Cómo funciona ==
[[Archivo:Kerberos-funcion.svg|thumb|450px|Funcionamiento de Kerberos.]]
[[Archivo:Kerberos-funcion.svg|thumb|450px|Funcionamiento de Kerberos.]]
A continuación se describe someramente el protocolo. Se usaran las siguientes abreviaturas:
A continuación se describe someramente el protocolo. Se usarán las siguientes abreviaturas:


* AS = Authentication Server
* AS = Authentication Server
Línea 77: Línea 59:
# El cliente genera una clave hash a partir del password y la usará como la clave secreta del cliente.
# El cliente genera una clave hash a partir del password y la usará como la clave secreta del cliente.
# El cliente envía un mensaje en texto plano al AS solicitando servicio en nombre del usuario. Nota: ni la clave secreta ni el password son enviados, solo la petición del servicio.
# El cliente envía un mensaje en texto plano al AS solicitando servicio en nombre del usuario. Nota: ni la clave secreta ni el password son enviados, solo la petición del servicio.
# El AS comprueba si el cliente está en su base de datos. Si es así, el AS genera la clave secreta utilizando la función hash con la password del usuario encontrada en su base de datos. Entonces envía dos mensajes al cliente:
# El AS comprueba si el cliente está en su base de datos. Si es así, el AS genera la clave secreta utilizando la [[función hash]] con la password del usuario encontrada en su base de datos. Entonces envía dos mensajes al cliente:
## Mensaje A: Client/TGS session key cifrada usando la clave secreta del usuario
## Mensaje A: Client/TGS session key cifrada usando la clave secreta del usuario
## Mensaje B: Ticket-Granting Ticket (que incluye el ID de cliente, la dirección de red del cliente, el período de validez y el Client/TGS session key) cifrado en primer lugar con la clave secreta del TGS y después con la clave secreta del usuario.
## Mensaje B: Ticket-Granting Ticket (que incluye el ID de cliente, la dirección de red del cliente, el período de validez y el Client/TGS session key) cifrado en primer lugar con la clave secreta del TGS y después con la clave secreta del usuario.

Revisión actual - 07:14 25 feb 2024

Kerberos
Función autenticación
Última versión krb5-1.16
Puertos UDP 88
Ubicación en la pila de protocolos
Transporte TCP
Red IP
Estándares
RFC 1510
RFC 4120
RFC 3962
RFC 3961
RFC 4121

Kerberos (pronunciación en inglés: /ˈkɜːrbərɒs/) es un protocolo de autenticación de redes de ordenador creado por el MIT que permite a dos ordenadores en una red insegura demostrar su identidad mutuamente de manera segura. Sus diseñadores se concentraron primeramente en un modelo de cliente-servidor, y brinda autenticación mutua: tanto cliente como servidor verifican la identidad uno del otro. Los mensajes de autenticación están protegidos para evitar eavesdropping y ataques de Replay.

Kerberos se basa en criptografía de clave simétrica y requiere un tercero de confianza. Además, existen extensiones del protocolo para poder utilizar criptografía de clave asimétrica.

Etimología

[editar]

El nombre se deriva del can Cerbero (griego antiguo Κέρβερος Kérberos, ‘demonio del pozo’), el perro guardian de la puerta del reino de Hades (o inframundo) en la mitología griega.

Descripción

[editar]

Kerberos se basa en el protocolo de clave simétrica de Needham-Schroeder. Usa un tercero de confianza, denominado "centro de distribución de claves" (KDC, por sus siglas en inglés: Key Distribution Center), que consta de dos partes lógicas independientes: un "servidor de autenticación" (AS o Authentication Server) y un "servidor emisor de tickets" (TGS o Ticket Granting Server). Estos "tickets" se utilizan para verificar la identidad de los usuarios.

Kerberos mantiene una base de datos de claves secretas; cada entidad de la red posee una clave secreta, conocida únicamente por ella y Kerberos, con la que demuestra su identidad. Para una comunicación entre dos entidades, Kerberos genera una clave de sesión que pueden usar para cifrar sus comunicaciones.

Motivación

[editar]

Internet no es un lugar seguro. Muchos de los protocolos usados en Internet no proporcionan características de seguridad. Es habitual que piratas informáticos maliciosos empleen herramientas para rastrear y conseguir contraseñas de la red. Por lo tanto, las aplicaciones que envían una contraseña no cifrada por la red son sumamente vulnerables. Peor aún, algunas aplicaciones de cliente/servidor dependen de la honestidad del usuario que las está usando acerca de su identidad.

Algunos sitios intentan solucionar los problemas de seguridad de la red con cortafuegos. Desafortunadamente, el uso exclusivo de cortafuegos se basa en la suposición de que los "villanos" están en el exterior, lo que es a menudo una suposición incorrecta y peligrosa. Un buen número de los más graves delitos informáticos son ejecutados desde dentro de la propia corporación atacada. Los cortafuegos también adolecen de una desventaja importante, ya que restringen cómo pueden usar Internet los usuarios de la red por ellos protegida. Después de todo, los cortafuegos son solo un ejemplo menos extremista del dictamen de que no hay nada más seguro que una computadora que está desconectada de la red. Pero en muchos casos, estas restricciones son simplemente imposibles de asumir.

Kerberos fue creado por el MIT como una solución para estos problemas de seguridad de la red. El protocolo de Kerberos usa una criptografía fuerte con el propósito de que un cliente pueda demostrar su identidad a un servidor (y viceversa) a través de una conexión de red insegura. Después de que un cliente/servidor han conseguido a través de Kerberos demostrar su identidad, también pueden cifrar todas sus comunicaciones para garantizar la privacidad y la integridad de los datos intercambiados.

Kerberos está disponible gratuitamente en el MIT, bajo permisos de derechos de autor muy similares a aquellos que usaron para el sistema operativo de BSD y el X Window System. El MIT provee el código fuente de Kerberos con el propósito de que quienquiera que desee usarlo pueda estudiar el código y así asegurarse de que el código es digno de confianza. Además, para aquellos que prefieren depender de un producto con un soporte profesional, Kerberos está disponible a través de muchos distribuidores diferentes como producto comercial.

En resumen, Kerberos es una solución para ciertos problemas de seguridad de la red. Provee las herramientas de autenticación y criptografía reforzada a través de la red para ayudar a asegurar que los sistemas de información de una empresa o corporación estén bien resguardados.

Cómo funciona

[editar]
Funcionamiento de Kerberos.

A continuación se describe someramente el protocolo. Se usarán las siguientes abreviaturas:

  • AS = Authentication Server
  • TGS = Ticket Granting Server
  • SS = Service Server

En resumen el funcionamiento es el siguiente: el cliente se autentica a sí mismo contra el AS, así demuestra al TGS que está autorizado para recibir un ticket de servicio (y lo recibe) y ya puede demostrar al SS que ha sido aprobado para hacer uso del servicio kerberizado.

En más detalle:

  1. Un usuario introduce su nombre de usuario y password en el cliente
  2. El cliente genera una clave hash a partir del password y la usará como la clave secreta del cliente.
  3. El cliente envía un mensaje en texto plano al AS solicitando servicio en nombre del usuario. Nota: ni la clave secreta ni el password son enviados, solo la petición del servicio.
  4. El AS comprueba si el cliente está en su base de datos. Si es así, el AS genera la clave secreta utilizando la función hash con la password del usuario encontrada en su base de datos. Entonces envía dos mensajes al cliente:
    1. Mensaje A: Client/TGS session key cifrada usando la clave secreta del usuario
    2. Mensaje B: Ticket-Granting Ticket (que incluye el ID de cliente, la dirección de red del cliente, el período de validez y el Client/TGS session key) cifrado en primer lugar con la clave secreta del TGS y después con la clave secreta del usuario.
  5. Una vez que el cliente ha recibido los mensajes, descifra el mensaje A para obtener el client/TGS session key. Esta session key se usa para las posteriores comunicaciones con el TGS. (El cliente descifra parcialmente el mensaje B con su clave secreta para obtener el TGT, pero no puede descifrar el TGT en sí puesto que se encuentra cifrado con la clave secreta del TGS). En este momento el cliente ya se puede autenticar contra el TGS.
  6. Entonces el cliente envía los siguientes mensajes al TGS:
    1. Mensaje C: Compuesto del Ticket-Granting Ticket del mensaje B y el ID del servicio solicitado.
    2. Mensaje D: Autenticador (compuesto por el ID de cliente y una marca de tiempo), cifrado usando el client/TGS session key.
  7. Cuando recibe los mensajes anteriores, el TGS descifra el mensaje D (autenticador) usando el client/TGS session key y envía los siguientes mensajes al cliente:
    1. Mensaje E: Client-to-server ticket (que incluye el ID de cliente, la dirección de red del cliente, el período de validez y una Client/Server session key) cifrado usando la clave secreta del servicio.
    2. Mensaje F: Client/server session key cifrada usando el client/TGS session key.
  8. Cuando el cliente recibe los mensajes E y F, ya tiene suficiente información para autenticarse contra el SS. El cliente se conecta al SS y envía los siguientes mensajes:
    1. Mensaje E del paso anterior.
    2. Mensaje G: un nuevo Autenticador que incluye el ID de cliente, una marca de tiempo y que está cifrado usando el client/server session key.
  9. El SS descifra el ticket usando su propia clave secreta y envía el siguiente mensaje al cliente para confirmar su identidad:
    1. Mensaje H: la marca de tiempo encontrada en el último Autenticador recibido del cliente más uno, cifrado el client/server session key.
  10. El cliente descifra la confirmación usando el client/server session key y chequea si la marca de tiempo está correctamente actualizada. Si esto es así, el cliente confiará en el servidor y podrá comenzar a usar el servicio que este ofrece.
  11. El servidor provee del servicio al cliente.

Véase también

[editar]

Enlaces externos

[editar]