METODOS Y SISTEMAS PARA LA AUTENTICACION DE UN USUARIO PARA SUB-UBICACIONES DE UNA UBICACION DE RED
CAMPO TECNICO
La presente invención se refiere a la autenticación de un usuario para tener acceso a un recurso de red. Más particularmente, la presente invención se refiere a la autenticación de un usuario para una o más sub-ubicaciones individuales de una ubicación de red.
ANTECEDENTES
Las redes de computadora permiten que los recursos sean compartidos entre diferentes computadoras. Por ejemplo, el Internet permite que las computadoras en todo el mundo intercambien información, tal como el correo electrónico. La gran red mundial proporciona el intercambio de información de audio-visual entre computadoras conectadas al Internet. Además, los servidores de computadora centralizados pueden almacenar información enviada por un usuario de computadora para tener acceso a otros. Las computadoras servidor permiten que los usuarios de computadoras tengan acceso a la información almacenada dentro de varias sub-ubicaciones de una ubicación de red, tal como un dominio de Internet. Las sub-ubicaciones de una ubicación de red pueden incluir directorios individuales de uno o más servidores o servidores individuales de un almacenaje servidor. Una sub-ubicación particular puede ser asignada a un usuario de computadora particular o a un grupo de usuarios quienes envían información a la sub-ubicación para tener acceso a otros usuarios de computadoras también conectados a la ubicación de red. Aunque dicha información compartida a través de la red es benéfica para los usuarios de computadoras, se debe tener mucho cuidado en la administración de la red para evitar el acceso no autorizado a las varias ubicaciones de red y sub-ubicaciones de las ubicaciones de red. Para evitar el acceso no autorizado, el usuario es autenticado para la ubicación de red. La .autenticación de un usuario puede ser realizada en varias formas. Un método es requerir que el usuario introduzca el nombre y contraseña del usuario antes de permitir el acceso a la ubicación de red y sub-ubicaciones correspondientes. Sin embargo, a medida que el número de ubicaciones de red que un usuario desee accesar se incrementa, el requisito de que el usuario introduzca el nombre y contraseña del usuario para cada ubicación se vuelve fastidioso. Para dirigir esta emisión, se expide una galleta al usuario después de que el usuario introduce el nombre y contraseña del usuario, una vez hecho esto, la galleta puede ser usada para autenticar la identidad del usuario en la ubicación de red, tal como un dominio dentro de la gran red mundial, para todas las sub-ubicaciones dentro de la ubicación de red. La galleta es un archivo de datos que sirve para identificar al usuario, incluyendo uno o más números grandes que son una identificación del usuario y que típicamente expira en cierto momento en el futuro. La entrada inicial con un nombre y contraseña del usuario típicamente se hace a través de una ubicación de red central confiada que mantiene el nombre y contraseña de referencia del usuario, tal como .NET™ Passport™, por ejemplo, cuando el usuario intenta visitar una ubicación de red, la computadora del usuario es dirigida a la ubicación de red confiada que emite una galleta encriptada o codificada a la computadora del usuario para la ubicación de red. Después, la computadora del usuario es dirigida de nuevo al servidor de la ubicación de red, y este servidor entonces verifica la galleta que acaba de ser emitida a la computadora del usuario. El servidor solicita la galleta de la computadora del usuario y después intenta validar la galleta descodificando crípticamente la galleta con una clave secreta y determinando que la galleta descodificada crípticamente no ha expirado. Después de que el servidor de la ubicación de red visitada exitosamente ha validado la galleta, la ubicación de red visitada ha autenticado al usuario que está intentando tener acceso, ya que la galleta validada confirma que el usuario que intenta tener acceso a la ubicación de red es un usuario de una identidad conocida y confiada. La identidad puede ser especificada por la información contenida dentro de la galleta descodificada crípticamente. Para sub-ubicaciones de ubicaciones de red en donde los usuarios pueden enviar información, aún sigue existiendo un riesgo de seguridad cuando se utilizan galletas para autenticar al usuario para la ubicación de red visitada. Un usuario que tiene acceso a una sub-ubicación dentro de la ubicación de red visitada puede enviar información de manuscrito por varias razones tales como, para proporcionar información audio-visual a otros que tienen acceso a la sub-ubicación. Sin embargo, un usuario malicioso puede enviar manuscritos que realicen actividades maliciosas tales como robar galletas que son cargadas de otras computadoras de usuarios cuando están visitando la ubicación de red. Después de obtener las galletas de los otros usuarios que visitan la ubicación de red, el usuario malicioso quien roba estas galletas entonces puede suplantar a estos otros usuarios para tener acceso a las sub-ubicaciones dentro de la ubicación de red en donde el usuario suplantado tiene acceso. De esta manera, el usuario malicioso quien robó las galletas ahora se le puede dar acceso a las sub-ubicaciones y actividades que el usuario malicioso, de otra manera, no tiene acceso, tales como actividades y/o sub-ubicaciones que involucran información personal, financiera u otra información sensible con respecto a los usuarios que están siendo suplantados.
COMPENDIO DE LA INVENCION
Las modalidades de la presente invención dirigen estas y otras emisiones proporcionando una galleta para la autenticación de un usuario para una sub-ubicación específica de la ubicación de red además de utilizar la galleta que autentica al usuario para la ubicación de red que proporciona la sub-ubicación. Cuando un usuario entra a una ubicación de red y sub-ubicación, solamente la galleta para la ubicación de red y la galleta para la sub-ubicación individual están expuestas dentro de la sub-ubicación que está siendo visitada. Si estas dos galletas son robadas por un usuario malicioso, quien envía maliciosamente un manuscrito dentro de la sub-ubicación, entonces el usuario malicioso, quien robó las galletas, sólo puede suplantar al usuario para la misma sub-ubicación en donde el usuario quien robó las galletas ha previamente ganado acceso. El usuario malicioso que robó las galletas, no podrá ser capaz de suplantar al usuario para otras sub-ubicaciones que requieran de una galleta diferente, específica para una sub-ubicación. Una modalidad es un método para la autenticación de un usuario de una computadora para una sub-ubicación de una dirección de red. El método involucra proporcionar una primera galleta a la computadora para la autenticación del usuario para la dirección de red y proporcionar una segunda galleta a la computadora para la autenticación del usuario para una primera sub-ubicación de la dirección de red. Cuando la computadora intenta tener acceso a la dirección de red, la primera galleta es validada para la autenticación del usuario para la dirección de red. La segunda galleta es validada para la autenticación del usuario para la primera sub-ubicación de la dirección de red.
Otra modalidad es un sistema de computadora que incluye una interfase de red y un dispositivo de procesamiento. El dispositivo de procesamiento está configurado para obtener una primera galleta a través de la interfase de red y validar la primera galleta para la autenticación de un usuario para la dirección de red. El dispositivo de procesamiento también está configurado para obtener una segunda galleta a través de la interfase de red y validar la segunda galleta para la autenticación del usuario para la primera sub-ubicación de la dirección de red. Otra modalidad es un sistema de red que incluye una computadora servidor en una dirección de red que proporciona por lo menos una sub-ubicación de ia dirección de red. Una computadora de cliente está en comunicación con la computadora servidor a través de una red, y la computadora de cliente almacena una primera galleta para la dirección de red y una segunda galleta para la sub-ubicación de la dirección de red. La computadora de cliente entra y valida la primera galleta para la autenticación de un usuario de la computadora de cliente para la dirección de red, y la computadora servidor entra y valida la segunda galleta para la autenticación del usuario de la computadora de cliente para una sub-ubicación de la dirección de red. Otra modalidad es un medio legible por computadora que comprende instrucciones que cuando se ejecutan por una computadora realizan varios pasos. Se obtiene una primera galleta a través de una interfase de red de la computadora y es validada para la autenticación de un usuario para una dirección de red. Se obtiene una segunda galleta a través de la interfase de red de la computadora y es validada para la autenticación del usuario para una primera sub-ubicación de la dirección de red.
DESCRIPCION PE LOS DIBUJOS
La Figura 1 ilustra un ambiente de operación en red para las modalidades de la presente invención. La Figura 2 ilustra los componentes de una computadora servidor de una ubicación de red de acuerdo con una modalidad de la presente invención. La Figura 3 ilustra las operaciones lógicas de la interacción que ocurre dentro de la red de la Figura 1 entre la entrada en el servidor, servidor de servicios y la computadora de cliente para la autenticación del usuario de la computadora de cliente de acuerdo con una modalidad de la presente invención. La Figura 4 ilustra las operaciones lógicas realizadas por el servidor de servicios para la autenticación del usuario de la computadora de cliente para una o más sub-ubicaciones de acuerdo con una modalidad de la presente invención.
DESCRIPCION DETALLADA
Las modalidades de la presente invención proporcionan galletas de sub-ubicación, tales como galletas de directorio como se muestra y discute en las Figuras 1-4, para varias sub-ubicaciones de una ubicación de red. Un ejemplo de una ubicación de red es un dominio identificado en un URL o una dirección de IP. Las galletas de sub-ubicación se proporcionan de manera que los usuarios son autenticados para las sub-ubicaciones además de ser autenticados para la ubicación de red que aloja las sub-ubicaciones. De esta manera, un usuario que roba una galleta permitiendo una autenticación falsa para una ubicación de red todavía se requiere que sea autenticado para una sub-ubicación dentro de la ubicación de red con una galleta diferente. La Figura 1 muestra un ambiente de operación de red típico en donde se pueden implementar las modalidades de la presente invención. Una computadora de cliente 102 está enlazada a una red 106, tal como una red de área local, red de área amplia, o el internet global. La computadora de cliente 102 puede comunicarse con varias computadoras servidor también enlazadas a la red 106. Por ejemplo, una entrada en el servidor 108 enlazado a la red permite que el usuario entre con el nombre de un usuario, tal como una dirección de correo electrónico, y una contraseña para obtener una primera galleta de servidor que permite que el usuario sea autenticado en una ubicación de red sin requerir que el usuario introduzca el nombre de usuario y la contraseña otra vez para esa ubicación de red. Además, la entrada en el servidor 108 puede emitir una emisión de una galleta de entrada para el usuario de la computadora de cliente de manera que después de que el usuario está intentando visitar una ubicación de red y vuelve a ser dirigido ai servidor de entrada 108 para la autenticación, la galleta de entrada es obtenida para la autenticación del usuario para el servidor de entrada 108 sin requerir de otra entrada del nombre y contraseña del usuario. El servidor de entrada 108 puede tener acceso a un almacenamiento 110 de nombres y contraseñas de usuario de referencia. Después de que el usuario de la computadora de cliente 102 primero visita el servidor de entrada 108 e introduce un nombre y contraseña de usuario, el servidor de entrada 108 puede buscar el nombre de usuario en el almacenamiento 110 y comparar la contraseña introducida con la contraseña almacenada. Cuando éstas coinciden, el usuario de la computadora de cliente 102 ha sido autenticado como el usuario perteneciente del nombre de usuario y la galleta de entrada es provista a la computadora de cliente 102 del servidor de entrada 108 y se puede proporcionar una galleta de servidor cuando la computadora de cliente ha sido dirigida ai servidor de entrada como resultado de intentar visitar un servidor de servicios 112. La galleta de entrada y la galleta de servidor pueden incluir un valor identificador que corresponde al propietario del nombre de usuario quien entró para obtener las galletas. Además, estas galletas pueden ser codificadas crípticamente con una clave secreta y/o pueden tener un tiempo de expiración. La computadora de cliente 102 guarda las galletas en un almacenamiento 104, de manera que cuando la computadora de cliente 102 intenta entrar a una ubicación de red correspondiente, la galleta de servidor en el almacenamiento 104 puede ser obtenida a través de un servidor en la ubicación de red para la autenticación del usuario validando la galleta de servidor en una de varias formas. La validación puede incluir intentar descodificar crípticamente la galleta de servidor con una clave secreta y/o verificar que la galleta de servidor no haya expirado basándose en su fecha de expiración. Además, si y cuando la computadora de cliente 102 se vuelve a dirigir al servidor de entrada 108, la galleta de entrada puede ser obtenida a través del servidor de entrada 108 para la autenticación del usuario de la computadora cliente 102, una vez más sin requerir de reentrada del nombre y contraseña del usuario. Un servidor de servicios 112 está enlazado a la red 106 y proporciona servicios a las computadoras de cliente 102, incluyendo proporcionar acceso a varias sub-ubicaciones, tal como directorios 116, 118, y 120 de la ubicación de red establecida por el servidor 112, o tal como servidores individuales de un almacenamiento servidor en la ubicación de red. Los directorios individuales 116, 118 y 120 o servidores individuales de un almacenamiento servidor pueden proporcionar varias piezas de información útiles para la computadora de cliente 102, tal como documentos y acceso a información personal o información de otra manera sensible. Por ejemplo, después de que un usuario ha sido autenticado para una sub-ubicación , el usuario puede ser capaz de hacer compras en línea a través de la sub-ubicación, en donde la información de facturación para el usuario autenticado es almacenada y es aplicada por la sub-ubicación sin que el usuario vuelva a introducir la información cuando el usuario hace la compra. Para evitar el acceso no autorizado a la ubicación de red que es provisto por el servidor de servicios 112, el servidor 112 autentica a un usuario que está intentando tener acceso a una sub-ubicación particular u otro servicio provisto por el servidor 112, obteniendo la galleta de servidor de la computadora de cliente 102 que está intentando tener acceso al servidor 112. El servidor 112 valida la galleta de servidor como se describió anteriormente intentando la descodificación críptica con una clave especial en el almacenamiento 114 y/o verificando que la galleta de servidor no ha expirado. Cuando el acceso a la ubicación de red requiere de autorización además de la autenticación inicial, la información del identificador de la galleta puede ser comparada con la información del identificador mantenida en el almacenamiento 114. Cuando la computadora de cliente 102 entra a la ubicación de red del servidor de servicios 112, si la computadora de usuario 102 aún no ha obtenido la galleta de servidor para la ubicación de red, entonces la computadora de cliente 102 es dirigida al servidor de entrada 108. Después de ser autenticada, la computadora de cliente 102 se vuelve a dirigir al servidor de servicios 112 con la galleta de servidor y con un mensaje dentro de la cadena de solicitudes del servidor de entrada 108 al servidor de servicios 112. Este mensaje indica que el usuario justamente ha sido autenticado en el servidor de entrada 108, lo cual indica que el usuario no ha robado la galleta de servidor, sino que la ha obtenido legítimamente. Después de que el servidor de servicios 112 ha recibido el mensaje y ha autenticado al usuario a través de la validación de la galleta de servidor justamente recibida, el servidor de servicios 112 entonces genera galletas de sub-ubicación para el usuario autenticado para una o más de las sub-ubicaciones que requieren autenticación. Las galletas de sub-ubicación se proporcionan del servidor de servicios 112 a la computadora de cliente 102 del usuario, en donde se guardan en el almacenamiento 104, tal como un dispositivo de almacenamiento en masa. Las galletas de sub-ubicación pueden ser codificadas crípticamente y/o pueden tener un valor de expiración de manera que el servidor de servicios 112 puede descodificar crípticamente las galletas de sub-ubicación con otra clave secreta en el almacenamiento 114 y/o puede verificar la expiración para validar la galleta. En ciertas modalidades en donde la autorización va a ser determinada para las sub-ubicaciones para un usuario autenticado, también se puede incluir información de identificador para el usuario en las galletas de sub-ubicación y un identificador de coincidencia es guardado en el almacenamiento 114 del servidor de servicios 112 junto con la autorización para una o más de las varias sub-ubicaciones. Si el usuario no es capaz de ser autenticado después de tener acceso a la ubicación de red ya que el usuario no tiene la galleta de servidor, entonces el servidor de servicios 112 puede volver a dirigir a la computadora de cliente 102 hacia al servidor de entrada 108 como se discutió anteriormente o puede simplemente negar el acceso a la computadora de cliente 102. Cuando el usuario de la computadora de cliente 102 intenta tener acceso a una sub-ubicación particular dentro de la ubicación de red del servidor de servicios 112 después de ser autenticado a través de la validación de la galleta de servidor, el servidor de servicios 112 obtiene la galleta de sub-ubicación correspondiente a partir de la computadora de cliente 102. El servidor de servicios 112 intenta validar la galleta de sub-ubicación, tal como a través de descodificación críptica y/o verificación de la fecha de expiración, para autenticar al usuario de la computadora de cliente 102 para la sub-ubicación que va a ser accesada. La galleta de sub-ubicación puede contener un identificador de la sub-ubicación que la galleta de sub-ubicación aplica y también puede incluir varias otras piezas de información, incluyendo el identificador también utilizado en la galleta de servidor para el usuario. Para modalidades en donde se incluye información de identificación de usuario, la galleta de sub-ubicación puede incluir un identificador diferente asociado con el usuario por el servidor de servicios 112 que el identificador del usuario incluido en la galleta de servidor. Si alguien roba la galleta de servidor de un usuario después de que el usuario ha tenido acceso a la ubicación de red, la galleta de servidor robada no proporcionará la autenticación requerida para tener acceso a las sub-ubicaciones de la ubicación de red requiriendo galletas de sub-ubicación. Si el usuario legítimo es autenticado para la sub-ubicación con una galleta de sub-ubicación obtenida de la computadora de usuario 102 y alguien roba la galleta de sub-ubicación mientras el usuario está visitando la sub-ubicación, entonces la galleta de sub-ubicación robada no proporcionará la autenticación requerida para tener acceso a las otras sub-ubicaciones de la ubicación de red. La galleta de sub-ubicación robada sólo proporcionará autenticación para la sub-ubicación de que el ladrón de la galleta ya no tiene acceso. La Figura 2 y la siguiente discusión están destinadas a proporcionar una breve y general descripción de un ambiente de cómputo adecuado en donde la invención puede ser implementada en la computador de servidor de servicios 112. Ya que la invención será descrita en el contexto general de módulos de programa que se ejecutan en conjunto con programas de aplicación que corren en un sistema operativo en una computadora servidor, aquellos expertos en la técnica reconocerán que la invención también puede ser implementada en combinación con otros módulos de programa. En general, los módulos de programa incluyen rutinas, programas, componentes, estructuras de datos, y otros tipos de estructuras que realizan tareas particulares o ¡mplementan tipos de datos abstractos particulares. Además, aquellos expertos en la técnica apreciarán que la invención puede ser practicada con otras configuraciones de sistema de computadora, incluyendo dispositivos portátiles, sistemas de procesador múltiple, electrónica de consumidor a base de microprocesador o programable, mini computadoras, computadoras principal, y similares. La invención como se aplica a la computadora servidor 112 de la Figura 1 también puede ser practicada en ambientes de cómputo distribuidos, en donde se realizan tareas a través de dispositivos de procesamiento remotos que están enlazados a través de una red de comunicaciones en lugar de una computadora individual. En un ambiente de cómputo distribuido, los módulos de programa pueden ser ubicados en dispositivos de almacenamiento de memoria tanto locales como remotos. La Figura 2 muestra una arquitectura de computadora ilustrativa para la computadora servidor 112 para practicar las varias modalidades de la invención. La arquitectura de computadora mostrada en la Figura 2 ilustra una computadora servidor convencional, que incluye una unidad de procesamiento central 204 ("CPU"), una memoria de sistema 206, que incluye una memoria de acceso aleatorio 208 ("RAM") y una memoria de sólo lectura ("ROM") 210, y una barra colectora 212 que acopla la memoria al CPU 204. Un sistema básico de entrada/salida que contiene las rutinas básicas que ayudan a transferir información entre elementos dentro de la computadora, tal como durante el arranque, está almacenado en la ROM 210. La computadora servidor 112 además incluye un dispositivo de almacenamiento en masas 214 para almacenar un sistema operativo 216 y programas de aplicación, tal como el programa de aplicación de galletas 218 que realiza las funciones de entrada y autenticación de galletas de sub-ubicación. El dispositivo de almacenamiento en masas 214 también almacena dos componentes del programa de aplicación de galletas 218 que incluye un generador de galleta 224 para generar galletas de sub-ubicación y un verificador de galleta 226 que valida las galletas de entrada y de sub-ubicación de la computadora del usuario. La validación puede utilizar información de clave de descodificación críptica de galleta 228 en el almacenamiento en masas 214 y/o verifica los valores de expiración de las galletas para autenticar al usuario. El almacenamiento en masas 214 también puede incluir datos de sub-ubicación 230 para las varias sub-ubicaciones provistas en la ubicación de red. El dispositivo de almacenamiento en masas 214 está conectado al CPU 204 a través de un controlador de almacenamiento en masas (no mostrado) conectado a la barra colectora 212. El dispositivo de almacenamiento en masas 214 y sus medios legibles por computadora asociados, proporcionan almacenamiento no volátil para la computadora servidor 112. Aunque la descripción de los medios legibles por computadora contenida aquí se refiere a un dispositivo de almacenamiento en masas, tal como un disco duro o unidad de CD-ROM, se debe apreciar por aquellos expertos en la técnica que los medios legibles por computadora pueden ser cualesquiera medios disponibles que puedan ser accesados por la computadora servidor 112. A manera de ejemplo, y no de limitación, los medios legibles por computadora pueden comprender medios de almacenamiento de computadora y medios de comunicación. Los medios de almacenamiento de computadora incluyen medios volátiles, no volátiles, removibles y no removibles, implementados en cualquier método o tecnología para el almacenamiento de información tal como instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos. Los medios de almacenamiento de computadora incluyen, pero no se limitan a, RAM, ROM, EPROM, EEPROM, memoria flash u otra tecnología de memoria de estado sólido, CD-ROM, DVD, u otro almacenamiento óptico, casetes magnéticos, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que pueda ser utilizado para almacenar la información deseada y que pueda ser accesada por la computadora. Los medios de comunicación típicamente moralizan instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada, tal como una onda portadora u otro mecanismo de transporte e incluye cualesquiera medios de entrega de información. El término "señal de datos modulada" significa una señal que tiene una o más de sus características fijadas o cambiadas de tal manera que codifican información en la señal. A manera de ejemplo, y no de limitación, los medios de comunicación incluyen medios de cable tales como una red cableada o conexión dirigida por cable, y medios inalámbricos tales como medios acústicos, RF, infrarrojos, y otros medios inalámbricos. Las combinaciones de cualquiera de los anteriores también deben ser incluidas dentro del alcance de los medios legibles por computadora. Los medios legibles por computadora también son denominados como producto de programa de computadora. De acuerdo con varias modalidades de la invención, la computadora servidor 112 puede operar en un ambiente en red utilizando conexiones lógicas para computadoras remotas a través de la red 106, tal como el Internet. La computadora servidor 112 se puede conectar a la red 106 a través de una unidad de interfase de red 220 conectada a la barra colectora 212. Se debe apreciar que la unidad de interfase de red 220 también puede ser utilizada para conectar otros tipos de redes y sistemas de computadora remotos. La computadora servidor 112 también puede incluir un controlador de entrada/salida 222 para recibir y procesar la entrada de un número de dispositivos, incluyendo un teclado o ratón (no mostrados). Similarmente, un controlador de entrada/salida 222 puede proporcionar la salida a una pantalla de presentación, una impresora, u otro tipo de dispositivo de salida. Como se mencionó brevemente antes, se puede almacenar un número de módulos de programa y archivos de datos pueden ser almacenados en el dispositivo de almacenamiento en masas 214 y RAM 208 de la computadora servidor 112, incluyendo un sistema operativo 216 adecuado para controlar la operación de la computadora servidor 112 en red. El dispositivo de almacenamiento en masas 214 y RAM 208 también pueden almacenar uno o más programas de aplicación tales como la aplicación de galleta 218 y componentes correspondientes que incluyen el generador de galleta 224, verificador de galleta 224, verificador de galleta 226, e información de clave de descodificación críptica de galleta 228. Las modalidades de la presente invención proporcionan módulos de programa para usarse junto con el programa de aplicación de galleta 218. Los módulos de programa implementan operaciones lógicas para la autenticación de usuarios que intentan tener acceso a varias sub-ubicaciones de la ubicación de red. Varias modalidades de las operaciones lógicas de los módulos de programa para el programa de aplicación de galleta 218 se discuten a continuación con referencia a las Figuras 3 y 4. La Figura 3 muestra las operaciones lógicas implementadas dentro del ambiente de red de la Figura 1, en donde la computadora de cliente 102, el servidor de entrada 108, y el servidor de servicios 112 interactúan para la autenticación del usuario de la computadora de cliente 102 para una sub-ubicación de la ubicación de red del servidor de servicios 112. La Figura 4 muestra las operaciones lógicas implementadas dentro de la aplicación de galleta 218 para generar y verificar ias galletas de sub-ubicación para la autenticación del usuario. Las operaciones lógicas ilustrativas de la Figura 3 para una modalidad comienzan en la operación de entrada 302, en donde la computadora de cliente 102 entra al servidor de entrada 108 introduciendo un nombre y contraseña de usuario, tal como después de volver a ser dirigido del servidor de servicios 112 que el usuario intenta visitar. El servidor de entrada 108 compara el nombre y contraseña del usuario con un nombre y contraseña de usuario de referencia para el usuario. Después de una comparación exitosa indicando una coincidencia para las credenciales de entrada, el servidor de entrada 108 proporciona una galleta de servidor (primera galleta) a la computadora de cliente 102. Como se discutió anteriormente, esta galleta de servidor puede incluir un valor de expiración y/o puede ser codificada crípticamente con una clave conocida por el servidor de servicios 112, de manera que la galleta de servidor puede ser validada. Como se discutió anteriormente, el servidor de entrada 108 también puede proporcionar una galleta de entrada que autentica al usuario para el servidor de entrada 108 si el usuario se vuelve a dirigir al servidor de entrada 108 en el futuro. Después de que la computadora de cliente 102 ha entrado para obtener la galleta de servidor, la computadora de cliente 102 intenta tener acceso a la ubicación de red del servidor de servicios 112 en una operación de acceso 306 después de ser dirigida al servidor de servicios 112 a partir del servidor de entrada 108. Después de la redirección, la cadena de solicitudes incluye el mensaje del servidor de entrada 108 indicando que el usuario de la computadora de cliente 102, que tiene la galleta de servidor, ya ha sido autenticado. En ese momento, el servidor de servicios 112 obtiene el mensaje de la cadena de solicitudes y la galleta de servidor de la computadora de cliente 102 e intenta validar la galleta de servidor. El servidor de servicios 112 autentica al usuario en la operación de autenticación 308 después de validar la galleta de servidor tal como descodificándola crípticamente y/o verificando que no ha expirado. Después de la autenticación, el servidor de servicios 112 genera y proporciona las galletas de sub-ubicación al usuario para cada una de las sub-ubicaciones provistas en el servidor de servicios 112, ya que el servidor de servicios 112 recibió el mensaje del servidor de entrada 108 de que el usuario justamente ya había sido autenticado en el servidor de entrada 108. Una vez que las galletas de sub-ubicación han sido provistas a la computador de cliente 102 para una galleta de servidor particular, el servidor de servicios 112 requiere que la computadora de cliente 102, que ha sido autenticada con la misma galleta de servidor, tenga la galleta de sub-ubicación emitida para la sub-ubicación que el usuario está intentando tener acceso. Esto permite que el servidor de servicios 112 intente la validación de la galleta de sub-ubicación, a través de la descodificación críptica con otra clave secreta y/o a través de verificación de no expiración, para autenticar al usuario para la sub-ubicación que está siendo accesada en la operación de sub-ubicación 310. Si el usuario con la galleta de servidor no tienen las galletas de sub-ubicación, entonces el servidor de servicios 112 puede dirigir al usuario que será autenticado otra vez con el servidor de entrada 108. Se apreciará que en ciertas modalidades, el servidor de servicios 112 también puede proporcionar una verificación de autorización adicional, una vez que un usuario ha sido autenticado para determinar si el usuario autenticado tiene autorización para tener acceso a una sub-ubicación particular. Aunque las galletas de sub-ubicación sirven para autenticar al usuario para las sub-ubicaciones en la ubicación de red, el usuario no puede tener autorización para ciertas sub-ubicaciones y con base en eso se le puede negar el acceso. La Figura 4 muestra las operaciones lógicas ilustrativas de una modalidad de la aplicación de galleta 218 para la autenticación de un usuario. Las operaciones lógicas comienzan en la operación de acceso 402, en donde el servidor de servicios 112 recibe un intento de acceso por parte de la computadora de cliente 102, en donde el intento de acceso puede ser una redirección a partir del servidor de entrada 108 de regreso al servidor de servicios 112. Después de recibir el intento de acceso, el servidor de servicios 112 intenta obtener la galleta de servidor (primera galleta) de la computadora de cliente 102 que puede ser validada a través de descodificación críptica y/o verificación de no expiración. En ese momento, el servidor de servicios 112 también puede obtener cualquier mensaje del servidor de entrada 108 que indica que el usuario ha sido justamente autenticado en el servidor de entrada 108. La operación de solicitud 406 detecta si la galleta de usuario ha sido exitosamente validada. Si la operación de solicitud 406 detecta que no ha ocurrido ninguna validación de la galleta de servidor, tal como porque la galleta de servidor no pudo ser descodificada crípticamente o ha expirado, entonces el servidor de servicios 112 puede dirigir la computadora de cliente 102 hacia el servidor de entrada 108 en la operación de redirigir 408. Alternativamente, el servidor de servicios 112 simplemente puede negar el acceso al usuario. Si la operación de solicitud 406 detecta que una galleta de servidor ha sido exitosamente validada, entonces el flujo operacional se va a la operación de solicitud 410. En la operación de solicitud 410, el servidor de servicios 112 prueba si las galletas de sub-ubicación ya han sido provistas a una computadora de cliente 102 para la galleta de servidor actualmente obtenida. Esto puede realizarse haciendo referencia al mensaje en la cadena de solicitud regresada al servidor de servicios 112 a partir del servidor .de entrada 108. Si el mensaje del servidor de entrada 108 ha sido recibido, entonces el servidor de servicios 112 sabe que el usuario ya ha sido autenticado en el servidor de entrada 108 para la ubicación de red del servidor de servicios 112 y que las galletas de directorio no han sido provistas aún. Este mensaje además indica que el usuario que presenta la galleta de servidor es el usuario legítimo en lugar de ser un usuario malicioso quien pudo haber robado la galleta de servidor. Si el mensaje del servidor de entrada 108 no ha sido presentado, entonces el servidor de servicios 112 prosigue como si las galletas de sub-ubicación ya hubieran sido provistas para esta galles de servidor, lo cual evita que las galletas de sub-ubicación sean emitidas a un usuario malicioso. Cuando la operación de solicitud 410 detecta que las galletas de sub-ubicación no han sido provistas previamente para esta galleta de servidor porque el mensaje dentro de la cadena de solicitud del servidor de entrada 108 está presente, entonces ei servidor de servicios 112 genera las galletas de sub-ubicación que serán usadas junto con la galleta de servidor actual en la operación de generación 412. Como se discutió, cada una de estas galletas de sub-ubicación generadas incluye un identificador de la sub-ubicación correspondiente y también puede incluir un identificador del usuario en donde se requieren para el acceso verificaciones de autorización adicionales. Estas galletas de sub-ubicación generadas después son enviadas a la computadora de cliente 102 en la operación de envío 414. La autenticación para el usuario actual, para la sub-ubicación que está siendo accesada, después es otorgada en la operación de autenticación 416. Cuando la operación de solicitud 410 detecta que las galletas de sub-ubicación ya han sido previamente provistas para esta galleta de servidor debido a que no se recibió ningún mensaje del servidor de entrada 108 para el intento de tener acceso, entonces el servidor de servicios 112 intenta obtener la galleta de sub-ubicación para la sub-ubicación que actualmente está siendo accesada en la operación de galleta 418. Como se discutió anteriormente para la galleta de servidor, las galletas de sub-ubicación de la computadora de cliente 102 pueden ser codificadas crípticamente con una clave conocida al servidor de servicios 112, de manera que la clave es usada para descodificar crípticamente la galleta de sub-ubicación, de manera que puede ser validada. Además, la sub-ubicación relevante es identificada en la galleta de sub-ubicación. La operación de solicitud 420 después detecta si una galleta de sub-ubicación para la sub-ubicación actual ha sido validada por la descodificación críptica y/o verificación de no expiración y también a través de la comparación de la sub-ubicación identificada en la galleta con la sub-ubicación que está siendo accesada. Cuando la operación de solicitud 420 detecta que no ha encontrado ninguna galleta de sub-ubicación que pueda ser validada para esta sub-ubicación, entonces el servidor de servicios 112 niega la autenticación para la sub-ubicación para el usuario en la operación de rechazo 422, de manera que el usuario actual no será capaz de tener acceso a esta sub-ubicación. Esto evita que un usuario malicioso, quien haya robado la galleta de servidor y posiblemente aún una galleta de directorio hacia otra sub-ubicación, tenga acceso a la sub-ubicación real. Cuando la operación de solicitud 420 detecta que una galleta de sub-ubicación ha sido validad para esta sub-ubicación, entonces el servidor dé servicios 112 otorga la autenticación al usuario para la sub-ubicación, en la operación de autenticación 416. Si es necesario, el usuario autenticado entonces puede ser referenciado contra las reglas de autenticación para la sub-ubicación, para determinar si este usuario autenticado tiene permiso a tener acceso a esta sub-ubicación de interés. Aunque la invención ha sido particularmente mostrada y descrita con referencia ilustrativa a sus modalidades, se entenderá