Realidad Aumentada (RA) en la Educación y Formación Profesional: Casos Prácticos de Cómo la RA Puede Mejorar la Experiencia de Aprendizaje y Entrenamiento

Realidad Aumentada (RA) en la Educación y Formación Profesional: Casos Prácticos de Cómo la RA Puede Mejorar la Experiencia de Aprendizaje y Entrenamiento

La Realidad Aumentada (RA) ha emergido como una herramienta poderosa en el ámbito educativo y la formación profesional.

 

Su capacidad para superponer información digital sobre el mundo real ofrece una experiencia de aprendizaje interactiva y envolvente que puede transformar la forma en que los estudiantes y profesionales adquieren conocimientos y habilidades.

 

A continuación, exploraremos varios casos prácticos y ejemplos de cómo la RA está mejorando la experiencia educativa y de entrenamiento.

Beneficios de la Realidad Aumentada en la Educación

 

La RA ofrece múltiples beneficios que pueden revolucionar el proceso educativo:

  • Aprendizaje Interactivo: La RA permite a los estudiantes interactuar con los materiales educativos de manera más dinámica, lo que facilita la comprensión y retención de la información.
  • Visualización de Conceptos Abstractos: Temas complejos y abstractos pueden ser visualizados en 3D, lo que ayuda a los estudiantes a entender mejor conceptos difíciles.
  • Motivación Académica: La RA hace que el aprendizaje sea más atractivo y motivador, lo que puede aumentar el interés de los estudiantes en las materias.
  • Formación de Profesionales Más Competentes: Al simular escenarios del mundo real, la RA prepara mejor a los estudiantes para los desafíos profesionales que enfrentarán.

Casos Prácticos de RA en la Educación y Formación Profesional

 

1. Simulación de Entornos Médicos

 

En el campo de la medicina, la RA se utiliza para entrenar a los estudiantes en procedimientos quirúrgicos y diagnósticos. Por ejemplo, las aplicaciones de RA pueden proyectar imágenes anatómicas en 3D sobre el cuerpo del paciente, permitiendo a los estudiantes practicar cirugías virtuales antes de realizarlas en la vida real. Esto no solo mejora la precisión de los futuros médicos, sino que también reduce el riesgo de errores durante las intervenciones reales.

 

2. Formación Técnica y Profesional

 

En la formación profesional, la RA se utiliza para simular entornos laborales y técnicos. Por ejemplo, en el sector de la ingeniería, los estudiantes pueden utilizar aplicaciones de RA para ensamblar y desensamblar maquinaria compleja en un entorno virtual. Esto permite una práctica segura y controlada sin el riesgo de dañar equipos costosos. Un caso de éxito es el de Innova FP, donde la RA se ha utilizado para capacitar a profesores en estas tecnologías, mejorando significativamente la calidad de la enseñanza técnica.

 

3. Educación Infantil y Primaria

 

Para los estudiantes más jóvenes, la RA puede transformar el aprendizaje en una experiencia lúdica y emocionante. Por ejemplo, mediante aplicaciones que proyectan animales en 3D o elementos históricos en el aula, los niños pueden aprender sobre biología, historia y geografía de manera interactiva. Esta metodología no solo mejora la comprensión, sino que también incrementa la retención de información al hacer el aprendizaje más memorable y divertido.

 

4. Formación en Habilidades Blandas

 

Además de las habilidades técnicas, la RA también puede ser utilizada para entrenar habilidades blandas, como la comunicación y la resolución de conflictos. Por ejemplo, las simulaciones de entrevistas de trabajo en RA permiten a los estudiantes practicar sus respuestas y recibir retroalimentación inmediata, mejorando así sus habilidades de comunicación y aumentando su confianza para situaciones reales.

 

Impacto de la RA en la Formación Profesional

 

1. Simulación de Situaciones Laborales

 

En la formación profesional y técnica, la RA se utiliza para simular situaciones laborales que de otro modo serían difíciles o peligrosas de recrear. Por ejemplo, en la industria de la construcción, los trabajadores pueden ser entrenados en seguridad y procedimientos operativos mediante simulaciones de RA, lo que reduce el riesgo de accidentes y mejora la preparación de los empleados.

 

2. Aprendizaje Práctico

 

Una de las mayores ventajas de la RA en la educación es su capacidad para ofrecer un aprendizaje práctico. Los estudiantes pueden interactuar con objetos y escenarios virtuales, permitiéndoles aplicar los conocimientos teóricos en contextos prácticos. Esto es especialmente útil en campos como la medicina, la ingeniería y las ciencias, donde la experiencia práctica es crucial para el desarrollo de competencias profesionales.

 

Desafíos y Futuro de la Realidad Aumentada en la Educación

 

Desafíos Técnicos y de Implementación

 

A pesar de sus beneficios, la integración de la RA en la educación enfrenta varios desafíos. Uno de los principales es el costo de implementación, ya que los dispositivos de RA y el desarrollo de contenido pueden ser costosos. Además, existe una curva de aprendizaje tanto para los educadores como para los estudiantes, quienes deben adaptarse a esta nueva tecnología.

 

Futuro de la RA en la Educación

 

El futuro de la RA en la educación es prometedor. Con el continuo avance de la tecnología, se espera que los costos disminuyan y la accesibilidad aumente. Además, la creciente adopción de la RA en diversas industrias impulsará su integración en los currículos educativos. Las instituciones educativas que inviertan en RA estarán mejor posicionadas para ofrecer una educación de alta calidad que prepare a los estudiantes para el mundo laboral del siglo XXI.

 

Conclusión

La Realidad Aumentada está revolucionando la educación y la formación profesional al ofrecer una experiencia de aprendizaje interactiva y práctica. Desde la simulación de entornos médicos hasta la formación técnica y el aprendizaje de habilidades blandas, la RA tiene el potencial de transformar la manera en que los estudiantes y profesionales adquieren y aplican conocimientos. Aunque existen desafíos, el futuro de la RA en la educación es brillante, prometiendo una enseñanza más efectiva y envolvente.

 

Realidad Aumentada (RA) en la Educación y Formación Profesional: Casos Prácticos de Cómo la RA Puede Mejorar la Experiencia de Aprendizaje y Entrenamiento

El papel de la IA en la personalización del servicio al cliente: cómo las tecnologías de inteligencia artificial pueden crear experiencias únicas para los usuarios


Blockchain como Herramienta de Seguridad en Transacciones Digitales: Explorando su Impacto y Potencial de Transformación

Blockchain como Herramienta de Seguridad en Transacciones Digitales: Explorando su Impacto y Potencial de Transformación

La tecnología blockchain ha emergido como una solución innovadora con el potencial de transformar la seguridad de las transacciones digitales y reconfigurar diversos sectores industriales.

Este artículo explora en profundidad cómo blockchain refuerza la seguridad en las operaciones en línea y su capacidad para revolucionar distintas industrias.

Introducción a la Tecnología Blockchain

 

La blockchain, o cadena de bloques, es una tecnología de registro distribuido que garantiza la seguridad, transparencia y veracidad de las transacciones digitales. Funciona mediante la creación de un registro inmutable de datos, organizado en bloques que están interconectados mediante criptografía. Cada bloque contiene una lista de transacciones y un enlace al bloque anterior, formando así una cadena continua que es prácticamente imposible de alterar.

Fundamentos de la Blockchain

 

Descentralización

 

Una de las características más destacadas del blockchain es su naturaleza descentralizada. A diferencia de los sistemas tradicionales centralizados, donde una autoridad única controla la base de datos, en una red blockchain, la información se distribuye entre todos los participantes. Esta descentralización reduce el riesgo de puntos únicos de fallo y aumenta la resiliencia de la red contra ataques cibernéticos.

 

Inmutabilidad

 

Cada transacción registrada en un bloque está criptográficamente enlazada a las transacciones anteriores, creando un registro inmutable. Una vez que un bloque se agrega a la cadena, es extremadamente difícil cambiar cualquier información contenida en él sin alterar todos los bloques posteriores, lo que requiere el consenso de la mayoría de los nodos en la red.

 

Transparencia y Verificación

 

Las transacciones en una red blockchain son transparentes y verificables por todos los participantes. Cada nodo en la red tiene una copia completa del historial de transacciones, lo que permite a cualquier miembro verificar la autenticidad de cualquier transacción. Esto promueve la confianza y la responsabilidad entre los participantes.

Seguridad en las Transacciones Digitales

 

Protección contra Fraude

 

El diseño criptográfico de la blockchain proporciona una robusta defensa contra el fraude. Cada transacción debe ser validada por la red antes de ser añadida a la cadena de bloques. Este proceso de consenso asegura que sólo las transacciones legítimas sean registradas. Además, la inmutabilidad del registro hace prácticamente imposible la alteración de transacciones pasadas sin ser detectado.

 

Reducción de Intermediarios

 

Blockchain permite la ejecución de contratos inteligentes, que son programas autoejecutables con los términos del acuerdo directamente escritos en código. Estos contratos automatizan y verifican el cumplimiento de las condiciones del contrato sin necesidad de intermediarios, reduciendo así el riesgo de manipulación y error humano.

 

Privacidad y Seguridad de Datos

 

Aunque las transacciones en blockchain son transparentes, la identidad de los participantes puede mantenerse privada mediante el uso de claves criptográficas. Esto asegura que los datos sensibles se mantengan seguros y sólo accesibles a las partes autorizadas.

Impacto del Blockchain en Diferentes Sectores

 

Sector Financiero

 

El sector financiero ha sido uno de los primeros en adoptar la tecnología blockchain debido a su capacidad para mejorar la seguridad y eficiencia de las transacciones. Los bancos utilizan blockchain para reducir el riesgo de fraude, agilizar el procesamiento de pagos y proporcionar un registro transparente y auditable de todas las transacciones financieras.

 

Ejemplos de Aplicación

 

  • Pagos Internacionales: Blockchain permite la transferencia de fondos a nivel global de manera rápida y segura, eliminando la necesidad de intermediarios costosos y reduciendo los tiempos de liquidación.
  • Gestión de Activos: La tokenización de activos financieros en una cadena de bloques permite una mejor rastreabilidad y liquidez, facilitando la compraventa de activos digitales.
  • Contratos Inteligentes: Los contratos inteligentes pueden automatizar el cumplimiento de acuerdos financieros, como la liquidación de seguros o el procesamiento de préstamos, reduciendo el riesgo de incumplimiento y fraude.

 

Logística y Cadena de Suministro

 

En la logística y la gestión de la cadena de suministro, blockchain ofrece una solución para rastrear productos desde su origen hasta su destino final. Esta capacidad de rastreo mejora la transparencia, reduce el riesgo de falsificaciones y asegura que los productos sean auténticos y de calidad.

 

Ejemplos de Aplicación

 

  • Rastreo de Productos: Blockchain permite registrar cada paso en la cadena de suministro, desde la fabricación hasta la entrega final, proporcionando una visión clara y verificable del recorrido del producto.
  • Prevención de Falsificaciones: La autenticidad de los productos puede ser verificada en cada punto de la cadena de suministro, reduciendo el riesgo de falsificaciones y aumentando la confianza del consumidor.
  • Eficiencia Operativa: La automatización de procesos mediante contratos inteligentes puede reducir los costos operativos y mejorar la eficiencia logística.

Desafíos y Futuro de la Blockchain

 

Desafíos Técnicos

 

A pesar de sus numerosas ventajas, la tecnología blockchain enfrenta varios desafíos técnicos que deben ser superados para su adopción masiva.

 

  • Escalabilidad: Las redes blockchain pueden enfrentar problemas de escalabilidad debido a la necesidad de que todos los nodos verifiquen cada transacción. Esto puede llevar a tiempos de procesamiento más lentos a medida que la red crece.
  • Consumo de Energía: Los mecanismos de consenso como la Prueba de Trabajo (PoW) pueden ser muy intensivos en energía, lo que plantea preocupaciones ambientales.
  • Interoperabilidad: La falta de estándares comunes puede dificultar la interoperabilidad entre diferentes plataformas blockchain, limitando su integración y uso generalizado.

 

Futuro de la Blockchain

 

El futuro de la blockchain es prometedor, con un potencial significativo para seguir transformando industrias y mejorando la seguridad de las transacciones digitales.

 

  • Innovaciones en Consenso: Se están desarrollando nuevos mecanismos de consenso, como la Prueba de Participación (PoS), que son más eficientes en términos de energía y pueden mejorar la escalabilidad.
  • Adopción Empresarial: A medida que las empresas reconocen los beneficios de la blockchain, se espera una adopción más amplia y la integración de esta tecnología en diversos procesos comerciales.
  • Regulación y Normativas: El desarrollo de marcos regulatorios claros y coherentes puede facilitar la adopción de blockchain, proporcionando un entorno seguro y confiable para su uso.

 

Conclusión

 

La tecnología blockchain representa una herramienta poderosa para la seguridad en las transacciones digitales, ofreciendo inmutabilidad, transparencia y protección contra el fraude. Su impacto ya se está sintiendo en sectores como las finanzas, la logística, la salud y los recursos humanos, donde está mejorando la eficiencia y reduciendo riesgos.

 

A medida que se superan los desafíos técnicos y se desarrollan nuevas aplicaciones, el potencial transformador de la blockchain continuará expandiéndose, redefiniendo cómo operan las industrias y asegurando un futuro digital más seguro y transparente.

Blockchain como Herramienta de Seguridad en Transacciones Digitales: Explorando su Impacto y Potencial de Transformación

El papel de la IA en la personalización del servicio al cliente: cómo las tecnologías de inteligencia artificial pueden crear experiencias únicas para los usuarios


japon-6g

Japón ya tiene su primer prototipo con 6G: los resultados han sido un éxito

100 Gbps por segundo en interiores. Los gigantes de telecomunicaciones de Japón ya experimentan con el 6G

El 5G ya forma parte de prácticamente cualquier teléfono, aunque los primeros experimentos con el 6G ya están sobre la mesa. Ya hay satélites 6G en órbita para probar esta tecnología, países como Corea del Sur están probando algunos proyectos con ella, y España está aprobando las primeras ayudas para usarla.

Japón ha presentado, en colaboración con algunas de las grandes empresas de telecomunicaciones del país, su primer prototipo 6G. Han logrado hacerlo funcionar a una velocidad notablemente superior que la del 5G, alcanzando los 100 Gbps en interiores.

DOCOMO, NTT Corporation, NEC Corporation y Fujitsu son parte del consorcio japonés que ha anunciado resultados exitosos con su primer prototipo 6G. Las empresas afirman que su dispositivo puede alcanzar velocidades de 100 Gbps en interiores utilizando la banda de 100 GHz. En el caso de usarse en exteriores, la banda a utilizar es la de 300 GHz.

La letra pequeña del experimento está en que, para alcanzar estas velocidades, fue necesario que la prueba se realizase a una corta distancia: 100 metros respecto al emisor. Pese a ello, son datos bárbaros: el 5G tiene una velocidad máxima teórica de 10 Gbps por segundo, aunque estas cifras jamás se alcanzan en un uso real.

El 6G, como su nombre indica, será la sexta generación de la conectividad móvil, prometiendo una latencia aún menor que el 5G y mucha mayor velocidad. Aún no se han definido las bandas de espectro que utilizarán, y su comercialización se espera en 2030. Pese a ello, los primeros casos de uso real podrían adelantarse, llegando entre 2026 y 2028.

De hecho, experimentos recientes como el de la escuela de ingeniería aeroespacial de la Universidad de Tsinghua en Pekín ya han mostrado la capacidad del 6G para enviar 1 TB de datos, en tan solo un segundo y a un 1km de distancia.
Territorios como el de la medicina, energía, IA y automoción serán algunos de los principales beneficiados, con una tecnología más eficiente a nivel energético y más capaz a nivel de respuesta.


Passkeys: Que son y para qué sirven

Estas cosas llamadas Passkeys ya están circulando hoy en día. Fueron una atracción principal en W3C TPAC 2022, obtuvieron soporte en Safari 16, se están abriendo camino en macOS e iOS y están programadas para ser el futuro de los administradores de contraseñas como 1Password. Ya son compatibles con Android y pronto llegarán a Chrome OS y Windows en futuras versiones.

Las mejoras de seguridad del sistema operativo Geeky no acaparan grandes titulares en la comunidad de front-end, pero es lógico que las Passkeys vayan a ser algo importante. Y considerando cómo las contraseñas y las aplicaciones de contraseñas afectan la experiencia del usuario en cosas como la autenticación y el procesamiento de formularios, es posible que al menos queramos comprenderlas para saber lo que viene.

 

Terminología

Aquí está la sección obligatoria de la terminología que querrá saber a medida que profundizamos. Como la mayoría de la tecnología, las Passkeys están elaboradas con verborrea esotérica y acrónimos que a menudo son obstáculos para la comprensión. Intentaremos desmitificar varios aquí.

  • Relying Party:  el servidor en el que se autenticará. Usaremos "servidor" para referirnos a la parte que confía en este artículo.
  • Client:  en nuestro caso, el navegador web o sistema operativo.
  • Authenticator:  Dispositivos de software y/o hardware que permiten la generación y almacenamiento de pares de claves públicas.
  • FIDO : Organismo de estándares abiertos que también crea especificaciones en torno a las credenciales FIDO.
  • WebAuthn : el protocolo subyacente para las Passkeys, también conocido como  credencial FIDO2  o credenciales FIDO de dispositivo único.
  • Passkeys : WebAuthn, pero con sincronización en la nube (también llamadas credenciales FIDO multidispositivo, credenciales reconocibles o credenciales residentes).
  • Public Key Cryptography:  un par de claves generadas que incluye una clave pública y una privada. Dependiendo del algoritmo, debe usarse para firmar y verificar o para cifrar y descifrar. Esto también se conoce como  criptografía asimétrica .
  • RSA:  Acrónimo de los nombres de los creadores, Rivest Shamir y Adel. RSA es una familia de criptografía de clave pública más antigua, pero aún útil, basada en factorización de números primos.
  • Elliptic Curve Cryptography (ECC):  una familia más nueva de criptografía  basada en curvas elípticas .
  • ES256:  una clave pública de curva elíptica que utiliza un algoritmo de firma ECDSA ( PDF ) con  SHA256  para hash.
  • RS256:  Como ES256, pero usa RSA con  RSASSA-PKCS1-v1.5  y SHA256.

 

¿Qué son las Passkeys?

Antes de que podamos hablar específicamente sobre Passkeys, debemos hablar de otro protocolo llamado WebAuthn (también conocido como FIDO2). Las Passkeys son una especificación construida sobre WebAuthn. WebAuthn permite que la criptografía de clave pública reemplace las contraseñas. Utilizamos algún tipo de dispositivo de seguridad, como una clave de hardware o un Módulo de plataforma segura (TPM), para crear claves públicas y privadas.

La clave pública es para que cualquiera pueda usarla. Sin embargo, la clave privada no se puede eliminar del dispositivo que la generó. Este fue uno de los problemas con WebAuthn; si pierde el dispositivo, pierde el acceso.

Las Passkeys resuelven esto proporcionando una sincronización en la nube de sus credenciales. En otras palabras, lo que genera en su computadora ahora también se puede usar en su teléfono (aunque, de manera confusa, también hay credenciales para un solo dispositivo).

Actualmente, al momento de escribir este artículo, solo iOS, macOS y Android brindan soporte completo para Passkeys sincronizadas en la nube, e incluso así, están limitadas por el navegador que se utiliza. Google y Apple proporcionan una interfaz para la sincronización a través de sus  servicios Google Password Manager y Apple iCloud Keychain, respectivamente.

 

¿Cómo reemplazan las Passkeys a las contraseñas?

En criptografía de clave pública se puede realizar lo que se conoce como firma . La firma toma un dato y luego lo ejecuta a través de un algoritmo de firma con la clave privada, donde luego se puede verificar con la clave pública.

Cualquiera puede generar un par de claves públicas y no es atribuible a ninguna persona, ya que cualquiera podría haberlo generado en primer lugar. Lo que lo hace útil es que sólo los datos firmados con la clave privada se pueden verificar con la clave pública. Esa es la parte que reemplaza una contraseña: un servidor almacena la clave pública y nosotros iniciamos sesión verificando que tenemos la otra mitad (por ejemplo, la clave privada), firmando un desafío aleatorio.

Como beneficio adicional, dado que almacenamos las claves públicas del usuario dentro de una base de datos, ya no hay preocupación por las violaciones de contraseñas que afectan a millones de usuarios. Esto reduce el phishing, las infracciones y una serie de otros problemas de seguridad que enfrenta actualmente nuestro mundo dependiente de las contraseñas. Si se viola una base de datos, todo se almacena en las claves públicas del usuario, lo que la hace prácticamente inútil para un atacante.

¡Tampoco más correos electrónicos olvidados y sus contraseñas asociadas! El navegador recordará qué credenciales utilizó para cada sitio web; todo lo que necesita hacer es hacer un par de clics y habrá iniciado sesión. Puede proporcionar un medio secundario de verificación para usar la clave de acceso, como datos biométricos o un pin. , pero siguen siendo mucho más rápidas que las contraseñas de antaño.

 

Más sobre criptografía

La criptografía de clave pública implica tener una clave pública y una privada (conocida como par de claves). Las claves se generan juntas y tienen usos separados. Por ejemplo, la clave privada debe mantenerse en secreto y la clave pública está destinada a quien desee intercambiar mensajes.

Cuando se trata de cifrar y descifrar un mensaje, la clave pública del destinatario se utiliza para cifrar un mensaje de modo que solo la clave privada del destinatario pueda descifrar el mensaje. En el lenguaje de seguridad, esto se conoce como "brindar confidencialidad". Sin embargo, esto no proporciona prueba de que el remitente es quien dice ser, ya que cualquiera puede usar una clave pública para enviarle a alguien un mensaje cifrado.

Hay casos en los que necesitamos verificar que un mensaje efectivamente proviene de su remitente. En estos casos, utilizamos la firma y la verificación de firma para garantizar que el remitente sea quien dice ser (también conocido como  autenticidad ). En la criptografía de clave pública (también llamada  asimétrica ), esto generalmente se hace firmando el hash de un mensaje, de modo que solo la clave pública pueda verificarlo correctamente. El hash y la clave privada del remitente producen una firma después de ejecutarla a través de un algoritmo, y luego cualquiera puede verificar que el mensaje proviene del remitente con la clave pública del remitente.

 

¿Cómo accedemos a las Passkeys?

Para acceder a las Passkeys, primero debemos generarlas y almacenarlas en algún lugar. Algunas de estas funciones se pueden proporcionar con un autenticador. Un  autenticador  es cualquier dispositivo respaldado por hardware o software que brinda la capacidad de generar claves criptográficas. Piense en esas contraseñas de un solo uso que obtiene de Google Authenticator, 1Password o LastPass , entre otros.

Por ejemplo, un autenticador de software puede utilizar el Módulo de plataforma segura (TPM) o el enclave seguro de un dispositivo para crear credenciales. Luego, las credenciales se pueden almacenar de forma remota y sincronizar entre dispositivos, por ejemplo, Passkeys. Un autenticador de hardware sería algo así como  YubiKey , que puede generar y almacenar claves en el propio dispositivo.

Para acceder al autenticador, el navegador debe tener acceso al hardware y, para ello, necesitamos una interfaz. La interfaz que utilizamos aquí es el Protocolo de cliente a autenticador (CTAP). Permite el acceso a diferentes autenticadores a través de diferentes mecanismos. Por ejemplo, podemos acceder a un autenticador a través de NFC, USB y Bluetooth utilizando CTAP.

Una de las formas más interesantes de utilizar Passkeys es conectando su teléfono a través de Bluetooth a otro dispositivo que podría no admitir Passkeys. Cuando los dispositivos están emparejados a través de Bluetooth, puedo iniciar sesión en el navegador de mi computadora usando mi teléfono como intermediario.

 

La diferencia entre Passkeys y WebAuthn

Las Passkeys y las claves WebAuthn se diferencian en varios aspectos. En primer lugar, las Passkeys se consideran credenciales multidispositivo y se pueden sincronizar entre dispositivos. Por el contrario, las claves WebAuthn son credenciales de un solo dispositivo, una forma elegante de decir que está vinculado a un dispositivo para su verificación.

En segundo lugar, para autenticarse en un servidor, las claves WebAuthn deben proporcionar el identificador de usuario para iniciar sesión, después de lo cual  allowCredentials se devuelve una lista al cliente desde el servidor, que informa qué credenciales se pueden usar para iniciar sesión.  Las Passkeys omiten este paso y usan la nombre de dominio del servidor para mostrar qué claves ya están vinculadas a ese sitio.  Puede seleccionar la clave de acceso asociada con ese servidor, tal como ya la conoce su sistema.

De lo contrario, las claves son criptográficamente las mismas; sólo difieren en cómo se almacenan y qué información utilizan para iniciar el proceso de inicio de sesión.

 

El proceso… en pocas palabras

El proceso para generar un WebAuthn o una clave de acceso es muy similar: obtenga un desafío del servidor y luego use la  navigator.credentials.create API web para generar un par de claves públicas. Luego, envíe el desafío y la clave pública al servidor para almacenarlos.

Al recibir la clave pública y el desafío, el servidor valida el desafío y la sesión desde la cual fue creado. Si esto es así, la clave pública se almacena, así como cualquier otra información relevante como el identificador del usuario o los datos de certificación, en la base de datos.

El usuario tiene un paso más: recuperar otro desafío del servidor y usar la  navigator.credentials.get API para firmar el desafío. Enviamos el desafío firmado al servidor, y el servidor verifica el desafío y luego inicia sesión si se aprueba la firma.

Por supuesto, hay mucho más en cada paso. Pero así es generalmente como iniciamos sesión en un sitio web usando WebAuthn o Passkeys.

 

Manos a la obra...

Las Passkeys se utilizan en dos fases distintas: las  fases de certificación y afirmación .

La fase de certificación también puede considerarse como la fase de registro. Te registrarías con un correo electrónico y una contraseña para un nuevo sitio web; sin embargo, en este caso, usaríamos nuestra clave de acceso.

La fase de afirmación es similar a cómo iniciarías sesión en un sitio web después de registrarte.

 

Certificación

 

La  navigator.credentials.create API es el foco de nuestra fase de certificación. Estamos registrados como un nuevo usuario en el sistema y necesitamos generar un nuevo par de claves públicas. Sin embargo, debemos especificar qué tipo de par de claves queremos generar. Eso significa que debemos brindar opciones para  navigator.credentials.create.

Obtendremos  PublicKeyCredential cuál contiene un  AuthenticatorAttestationResponse que regresa después de la creación. La credencial tiene el ID del par de claves generado.

La respuesta proporciona un par de datos útiles. Primero, tenemos nuestra clave pública en esta respuesta y debemos enviarla al servidor para que la almacene. En segundo lugar, también recuperamos la  clientDataJSON propiedad que podemos decodificar y, a partir de ahí, recuperamos los caracteres  type,  challengey  origin de la clave de acceso.

Para la certificación, queremos validar  type,  challengey  origin en el servidor, así como almacenar la clave pública con su identificador, por ejemplo, niño. Opcionalmente también podemos almacenar el  attestationObject si lo deseamos. Otra propiedad útil para almacenar es el  algoritmo COSE  , que se define anteriormente en nuestro   PublicKeyCredentialCreationOptions with  alg: -7 o  alg: -256, para verificar fácilmente cualquier desafío firmado en la fase de afirmación.

 

Afirmación

La  navigator.credentials.get API será el foco de la fase de afirmación. Conceptualmente, aquí sería donde el usuario inicia sesión en la aplicación web después de registrarse.

Esta vez volveremos a tener un  PublicKeyCredential con un . AuthenticatorAssertionResponseLa credencial nuevamente incluye el identificador de clave.

También obtenemos  type,  challengey  origin de  clientDataJSON nuevo. El  signature ahora está incluido en la respuesta, así como el authenticatorData. Los necesitaremos y para  clientDataJSON verificar que esto se firmó con la clave privada.

Incluye  authenticatorData algunas propiedades que vale la pena rastrear. Primero, el hash SHA256 del origen que estás usando, ubicado dentro de los primeros 32 bytes, que es útil para verificar que la solicitud proviene del mismo servidor de origen. El segundo es el  signCount, que va del byte 33 al 37. Esto se genera a partir del autenticador y debe compararse con su valor anterior para garantizar que no ocurra nada sospechoso con la clave. El valor siempre debe ser 0 cuando se trata de una clave de acceso para múltiples dispositivos y debe ser aleatoriamente mayor que el signCount anterior cuando se trata de una clave de acceso para un solo dispositivo.

Una vez que haya afirmado su inicio de sesión, debería iniciar sesión: ¡  felicidades ! Passkeys es un protocolo bastante bueno, pero viene con algunas advertencias.

 

Algunas desventajas

Las Passkeys tienen muchas ventajas, sin embargo, existen algunos problemas al momento de escribir este artículo. Por un lado, las Passkeys todavía son un poco tempranas en cuanto a soporte, ya que solo se permiten credenciales de un solo dispositivo en Windows y muy poco soporte para sistemas Linux.  Passkeys.dev  proporciona una  buena tabla que es algo así como el Caniuse de este protocolo .

Además, las plataformas de Passkeys de Google y Apple no se comunican entre sí. Si desea transferir sus credenciales de su teléfono Android a su iPhone... bueno, por ahora no tiene suerte. ¡Eso no quiere decir que no haya interoperabilidad! Puede iniciar sesión en su computadora usando su teléfono como autenticador. Pero sería mucho más limpio tenerlo integrado en el sistema operativo y sincronizado sin que esté bloqueado a nivel de proveedor.

 

¿Adónde van las cosas?

¿Cómo será el protocolo de Passkeys del futuro? ¡Se ve bastante bien! Una vez que obtenga soporte de más sistemas operativos, debería haber una aceptación en su uso, y comenzarás a verlo usado cada vez más en la naturaleza. Algunos administradores de contraseñas incluso los respaldarán de primera mano.

Las Passkeys no solo se admiten en la web.  Tanto Android  como  iOS  admitirán claves nativas como ciudadanos de primera clase. Todavía estamos en los primeros días de todo esto, pero esperamos verlo mencionado cada vez más.

Después de todo, eliminamos la necesidad de contraseñas y, al hacerlo, ¡hacemos que el mundo sea más seguro!

 

Recursos

Aquí hay algunos recursos más si deseas obtener más información sobre las Passkeys.

 


neural-networks

¿Qué son las Redes Neuronales? Explicación básica de Deep Learning

¿Intrigado por la idea de que los ordenadores aprendan? Bueno, las Redes Neuronales son los principales actores clave; son neuronas interconectadas que se asemejan de forma vaga a la estructura de un cerebro humano, imitando el acto de aprender y tomar decisiones.

 

Neural Networks

En este artículo, veremos:

  • Qué son las Redes Neuronales
  • De qué están hechas las Redes Neuronales
  • Cómo aprenden las Redes Neuronales
  • Cuáles son los tipos de Redes Neuronales
  • ¿Qué son las Redes Neuronales?

 

Qué son las Redes Neuronales

Una Red Neuronal Artificial (ANN) es un método de deep learning en inteligencia artificial basado en el cerebro humano, diseñado para que un ordenador sea capaz de aprender a realizar tareas basándose en ejemplos de entrenamiento. Sin embargo, para que un ordenador pueda realizar estas tareas, tiene que aprender, que es el concepto clave detrás de las redes neuronales. Por ejemplo, a una red neuronal se le pueden proporcionar miles de imágenes de gatos y perros, cada una etiquetada con "gato" o "perro", y encontraría patrones visuales en las imágenes para aprender a clasificar una imagen determinada como gato o perro.

 

Neural Networks

¿De qué están hechas las Redes Neuronales?

En términos generales, las capas son los bloques de construcción de las redes neuronales formadas por nodos, cada uno de los cuales es responsable de procesar y transformar los datos de una manera específica. Hay tres tipos de capas:

  1. Capa de Entrada: Esta capa recibe los datos de entrada y los pasa al resto de la red.
  2. Capa Oculta: Está compuesta por una o más capas según la complejidad de la red, y son los componentes clave del aprendizaje y la complejidad. Las capas ocultas funcionan analizando la salida de la capa anterior, procesándola más y pasándola a la siguiente capa.
  3. Capa de Salida: Contiene los resultados finales de la red después de todo el procesamiento de datos. El número de nodos de esta capa depende del número de clases que se quieran predecir.

Neural Networks

Profundizando un poco en la conexión entre dos capas, encontramos que cada nodo está conectado con cada nodo en la siguiente capa. La fuerza de estas conexiones se determina por un parámetro llamado peso; durante el entrenamiento, la red aprende los valores óptimos para estos pesos a través de un proceso llamado retropropagación.

 

Neural Networks

¿Cómo aprenden las Redes Neuronales?

El aprendizaje, o comúnmente conocido como entrenamiento, generalmente es un proceso que involucra la presentación de redes neuronales con ejemplos de datos de entrada junto con la salida correcta correspondiente. Específicamente, hay varios pasos involucrados en el proceso de entrenamiento. Estos pasos incluyen:

  1. Inicialización: Configurar la configuración inicial de la red neuronal, lo que generalmente implica asignar valores aleatorios a sus parámetros como pesos.
  2. Propagación hacia adelante: Procesar los datos de entrada a través de la red para generar predicciones o salidas.
  3. Medición de errores: Evaluar la precisión entre las salidas predichas y las salidas reales usando una medida de error o pérdida.
  4. Cálculo de ajustes: Determinar cómo actualizar los parámetros de la red basándose en los errores observados, con el objetivo de reducirlos con el tiempo.
  5. Actualización de parámetros: Modificar los parámetros de la red, como pesos y sesgos, para minimizar los errores observados durante el entrenamiento.
  6. Optimización iterativa: Repetir los pasos anteriores a lo largo de múltiples iteraciones, mejorando gradualmente el rendimiento de la red.
  7. Validación y prueba: Evaluar el rendimiento de la red entrenada en conjuntos de datos de validación y prueba independientes para asegurar su capacidad de generalizar a datos no vistos.

 

Cuáles son los tipos de Redes Neuronales

Las Redes Neuronales son variadas, cada una con una estructura y función única para resolver diferentes problemas. Las redes neuronales más comunes son:

  • Red neuronal convolucional (CNN): Utilizada en tareas de clasificación y visión por ordenador, utiliza filtros de optimización para reducir imágenes a una forma más fácil de procesar, sin perder características críticas. Aplicaciones de la vida real incluyen reconocimiento de patrones, reconocimiento de imágenes, detección de objetos, reconocimiento facial y más.
  • Red neuronal recurrente (RNN): Una red neuronal bidireccional para manejar datos secuenciales, lo que significa que las RNN tienen conexiones que forman ciclos dirigidos donde la salida del paso anterior se utiliza como entrada para el paso actual. Se utiliza en casos como el reconocimiento de voz o reconocimiento de escritura donde es esencial recordar información previa.

Esperamos que esta breve descripción de las Redes Neuronales os haya servido para comprender sus conceptos básicos.


google-pyton

Google acaba de despedir a todo su equipo de Python de EE.UU

Google ha despedido a todo su actual equipo de desarrollo de Python, una decisión inesperada enmarcada en una política de despidos que también está afectando a otros departamentos de la compañía.

El equipo de Python, que operaba desde Sunnyvale (California), tenía menos de diez miembros y era responsable de mantener una versión estable de Python en Google, actualizar miles de paquetes de terceros y de desarrollar un verificador de tipos llamado 'pytype', que realiza inferencia de código sin anotaciones de tipo en proyectos de gran envergadura.

La eliminación de este equipo, que también proporcionaba asistencia técnica dentro de la compañía y trabajaba conjuntamente con otros equipos de desarrollo, como los de aprendizaje automático e IA, ha jugado un papel crucial en la supervisión del ecosistema de Python dentro de Google, está generando mucho debate en redes.

Una publicación en Mastodon por un ex miembro del equipo describía su trabajo en Google como "el mejor" en sus 20 años en el sector, mientras que Thomas Wouters (miembro destacado del Python Steering Council y responsable de lanzamientos para las versiones 3.12 y 3.13 de Python) que

"Es un día difícil cuando a todas las personas con las que trabajas directamente, incluido tu gerente, se les despide (perdón, 'se les reducen las funciones') y se les pide que entrenen a sus reemplazos".

google-despidos

No sois vosotros, es el presupuesto

Y es que el problema de lo ocurrido no es que Google tenga pensado prescindir de Python en modo alguno (todo lo contrario, teniendo en cuenta el énfasis que está poniendo en los últimos tiempos en el desarrollo de IA), sino que la compañía del buscador está reduciendo costos a través de la contratación de mano de obra más barata fuera de Estados Unidos.

En la misma onda, la jefa de finanzas de Google, Ruth Porat, envió hace una semana un e-mail al personal de varios equipos financieros de la empresa diciendo que los inminentes despidos irán acompañados de reubicaciones a nuevas oficinas de Bangalore, Ciudad de México y Dublín.

Aun así, la decisión ha generado especulaciones sobre las prioridades actuales de Google: hay quien ve estos despidos como una maniobra estratégicamente poco acertada que igualmente podría terminar afectando al papel de Google en la llamada "carrera armamentística de la IA".

Recordemos que, aunque Musk esté convencido de que el futuro de la IA reside en el lenguaje Rust, hoy por hoy el machine learning, la base de la actual generación de IA, depende en gran medida de Python y de sus principales bibliotecas (como TensorFlow y PyTorch) no sólo en el caso de los proyectos de software de Google, sino de toda la industria tecnológica.

Por el momento, Google no ha emitido un comunicado oficial sobre estos despidos ni sobre cómo planea manejar el desarrollo y mantenimiento de Python internamente en el futuro.