Aplicaciones de Windows
Collapse the table of content
Expand the table of content

Seguridad

Proporciona a los usuarios de la aplicación una experiencia de seguridad sin complicaciones y mantente al día con las técnicas de autenticación más recientes. Windows 8.1 ofrece nuevas formas de autenticar y administrar a los usuarios, mayor compatibilidad con firmas y certificados, y nueva funcionalidad para credenciales almacenadas.

Novedades o actualizaciones de Windows 8.1

Autenticación con huella digital

[Obtén la muestra de UserConsentVerifier ahora.]

Ahora tu aplicación puede usar un examen de la huella digital para autenticar un usuario. Usa la autenticación biométrica para ayudar a proteger una aplicación frente al uso no autorizado o para controlar el acceso a páginas o recursos específicos. Para ello, usa la clase UserConsentVerifier en el espacio de nombres Windows.Security.Credentials.UI.

En primer lugar, tu aplicación debería comprobar que la autenticación con huella digital es una opción en el dispositivo del usuario. Para saber si el dispositivo tiene un lector de huellas digitales, llama al método UserConsentVerifier.CheckAvailabilityAsync. Incluso si un dispositivo admite la autenticación con huella digital, tu aplicación debería proporcionar a los usuarios una opción en Configuración para habilitarla o deshabilitarla. Para obtener más información acerca de la creación de esta configuración, consulta el tema sobre cómo agregar configuración de la aplicación.

Si la verificación de huellas digitales está disponible y el usuario la ha habilitado, puedes llamar al método UserConsentVerifier.RequestVerificationAsync y continuar con las operaciones de la aplicación si este método devuelve un resultado de Verified.

Actualizaciones de WebAuthenticationBroker

[Obtén la muestra del agente de autenticación web ahora.]

El agente de autenticación web (representado por la clase WebAuthenticationBroker) se ha actualizado para rellenar automáticamente las credenciales existentes con el consentimiento del usuario. Las credenciales se almacenan en la caja de seguridad de credenciales. Cuando una aplicación necesita iniciar sesión en un recurso mediante el agente de autenticación web, si el agente detecta una credencial existente en la caja de seguridad de credenciales y el usuario ha dado su consentimiento, se usa la credencial existente y el usuario inicia sesión automáticamente en el recurso. Para obtener más información, consulta el tema sobre el agente de autenticación web.

Tarjetas virtuales y tarjetas inteligentes virtuales

[Obtén la muestra de tarjeta inteligente ahora.]

Ahora tu aplicación puede comunicarse con lectores de tarjetas inteligentes y autenticarse con tarjetas inteligentes mediante las API definidas en el espacio de nombres Windows.Devices.SmartCards. Las siguientes clases rigen los escenarios de uso básicos para esta característica:

  • La clase SmartCardReader representa un dispositivo lector de tarjetas inteligentes. Usa el método FindAllCardsAsync para obtener información sobre todas las tarjetas inteligentes conectadas al lector. Usa el método GetStatusAsync para obtener el estado del lector de tarjetas inteligentes (por ejemplo, desconectado o listo).

  • La clase SmartCard representa información general sobre una tarjeta inteligente. Usa el método GetStatusAsync para obtener el estado de la tarjeta inteligente (por ejemplo, desconectada o lista).

  • La clase SmartCardProvisioning permite a una aplicación configurar una tarjeta inteligente para obtener información sobre una tarjeta inteligente configurada y para crear o eliminar una tarjeta inteligente virtual de un Módulo de plataforma segura (TPM). Usa miembros como los métodos GetIdAsync y GetNameAsync para obtener el identificador de una tarjeta inteligente y el nombre del minicontrolador, respectivamente.

    Usa los métodos RequestPinChangeAsync y RequestPinResetAsync para solicitar al usuario que cambie y restablezca el PIN de su tarjeta inteligente, respectivamente. Usa los métodos RequestVirtualSmartCardCreationAsync y RequestVirtualSmartCardDeletionAsync para crear y eliminar una tarjeta inteligente virtual de TPM, respectivamente.

Este ejemplo de código muestra cómo crear una tarjeta inteligente virtual de TPM mediante la llamada al método RequestVirtualSmartCardCreationAsync de la clase SmartCardProvisioning. La llamada al método especifica un nombre descriptivo y una directiva de PIN.


function createTpmVirtualSmartCard(adminKey) {
    var pinPolicy = new Windows.Devices.SmartCards.SmartCardPinPolicy();
    pinPolicy.minLength = 4;
    pinPolicy.lowercaseLetters = Windows.Devices.SmartCards.SmartCardPinCharacterPolicyOption.allow;
    pinPolicy.uppercaseLetters = Windows.Devices.SmartCards.SmartCardPinCharacterPolicyOption.requireAtLeastOne;
    pinPolicy.digits = Windows.Devices.SmartCards.SmartCardPinCharacterPolicyOption.allow;
    pinPolicy.specialCharacters = Windows.Devices.SmartCards.SmartCardPinCharacterPolicyOption.disallow;

    Windows.Devices.SmartCards.SmartCardProvisioning.requestVirtualSmartCardCreationAsync(
        "Contoso Virtual Smart Card", 
        adminKey, 
        pinPolicy)
    .done(function (cardProvision) {
        if (cardProvision == null) {
            // The request is canceled.
            return;
        }
    });
}

Para obtener más información sobre este y otros escenarios relacionados y sobre las API, consulta Windows.Devices.SmartCards.

Actualizaciones de la caja de seguridad de credenciales

[Obtén la muestra de la caja de seguridad de credenciales ahora.]

Hemos actualizado la caja de seguridad de credenciales para mejorar tu capacidad de almacenar las credenciales de usuario y de suministrarlas automáticamente al usuario cuando sea necesario. Windows 8.1 incluye estos cambios en la caja de seguridad de credenciales.

  • Identifica una credencial predeterminada cuando hay varias credenciales para un recurso. La colección PasswordCredential.Properties ahora incluye una propiedad Default.

  • Determina cuándo se usó por última vez una credencial para poder retirar las credenciales que no se usen. La colección PasswordCredential.Properties ahora incluye una propiedad LastAccessed.

Configuración de la cuenta de aplicación

[Obtén las muestras de la caja de seguridad de credenciales y del agente de autenticación web ahora.]

En Windows 8.1, el contrato de Configuración se ha actualizado para incluir la administración de cuenta. Ahora puedes implementar el contrato de Configuración y permitir que los usuarios administren varias credenciales de cuenta.

Por ejemplo, puedes tener un cliente de correo electrónico que administre correos electrónicos de varios servidores. Del mismo modo, puedes tener una aplicación de redes sociales que agregue contenido de numerosos sitios y servicios de redes sociales. Puedes usar el contrato de Configuración para simplificar el acceso del usuario a las credenciales en todos estos sitios y servicios. Obtén más información sobre el contrato de Configuración en el tema sobre cómo agregar configuración de la aplicación.

El objeto SettingsCommand ahora incluye una propiedad AccountsCommand. Puedes agregar una instancia de CredentialCommand o WebAccountCommand a la colección ApplicationCommands para habilitar la configuración de la cuenta de aplicación y rellenar la propiedad AccountsCommand.

Windows en tiempo de ejecución ahora ofrece estas clases para administrar cuentas con la configuración de la cuenta de aplicación:

WebAccountProvider

Administra información y metadatos para un proveedor de autenticación en línea.

WebAccount

Representa una instancia de una cuenta de un proveedor de autenticación en línea.

WebAccountCommand

Representa una instancia de una cuenta mostrada por el control flotante de cuentas. Cuando se administran varias cuentas, cada cuenta se representa mediante una instancia de WebAccountCommand.

CredentialCommand

Representa una instancia de una credencial de la caja de seguridad de credenciales.

 

Administración de confianza y certificados

[Obtén la muestra de criptografía y certificado ahora.]

Windows 8.1 amplía la compatibilidad con el uso de certificados y firmas para aumentar la seguridad y la confianza de los recursos que utiliza la aplicación. Ahora se admiten estos escenarios:

Este ejemplo de código muestra cómo firmar un documento mediante una firma separada.


// Define aliases for the cryptography namespaces.
var WindowsCerts = Windows.Security.Cryptography.Certificates;
var WindowsCryptCore = Windows.Security.Cryptography.Core;

// Verify a signed PDF file. The CMS signature is an attachment to the PDF file.

function signPDF(inputStream) {
    // Get a certificate for computing the signature.
    var query = new WindowsCerts.CertificateQuery();
    query.issuerName = "Sample Trusted Third Party";

    var certificates;
    WindowsCerts.findAllAsync(query).then(function(certificates) {
        var certificateList;
        // Build the certificate chain for first certificate returned.
        certificates[0].buildChainAsync(null).then(
            function(chain) {
                certificateList = chain.getCertificates(true); 
            });

        // Build signer info.
        var signer = new WindowsCerts.CmsSignerInfo();
        signer.certificate = certificates[0];
        signer.hashAlgorithm = WinCryptoCore.HashAlgorithmNames.sha256;
        var signers;
        signers[0] = signer;

        // Sign the PDF document.       
        WindowsCerts.CmsDetachedSignature.generateSignatureAsync(
            inputStream, signers, certificateList).then(
                function(result) {
                    return result;
                });
    });

    // Document not signed. 
    return null;
}

Eliminación selectiva

[Obtén la muestra del administrador de revocación de archivos ahora.]

Windows 8.1 presenta compatibilidad con la eliminación selectiva, que permite identificar las carpetas y los archivos del equipo de un usuario que pueden revocarse (y posteriormente eliminarse) mediante un comando desde un servidor. Este escenario es especialmente relevante para los negocios y las empresas en caso de pérdida o robo del equipo de un empleado, o si un empleado que guardaba archivos de la compañía en un dispositivo personal deja de trabajar en dicha compañía.

Al agregar un nuevo archivo como datos de la aplicación, puedes llamar al método FileRevocationManager.ProtectAsync para inscribir el archivo en la eliminación selectiva. La eliminación selectiva identifica el archivo mediante una identidad de empresa, que suele ser un nombre de dominio. Aquí tienes un ejemplo de código.


var appRootFolder = Windows.Storage.ApplicationData.current;
var enterpriseIdentity = "example.com";

function addNewFolderButtonClick() {
  var folderName = document.getElementById("folderName");
  appRootFolder.createFolderAsync(folderName).then(
    function (folder) {
      var status = addItemProtected(folder, enterpriseIdentity);
    });
}

// Protect a folder or a file.
function addItemProtected(item, enterpriseId) {
  Windows.Security.EnterpriseData.FileRevocationManager.protectAsync(
    itemPath, enterpriseId).then(
      function (itemProtectionStatus) {
        return itemProtectionStatus;
    });
}


Al acceder a una carpeta o archivo protegido por la eliminación selectiva, llama al método FileRevocationManager.GetStatusAsync para recuperar el estado de protección del elemento cada vez que se tenga acceso a él. Si el valor de estado del elemento devuelto es Revoked, elimina el archivo.


// Open a file. If access to the file is denied, check to see if the file is revoked.
function readFile(file) {
  try {
    file.openReadAsync().then(
      function (fileStream) {
        return fileStream;
      });
  }
  catch (e) {
  }
    if (e.message == "Access Denied") {
      Windows.Security.EnterpriseData.FileRevocationManager.getStatusAsync(file).then(
        function (itemProtectionStatus) {
          if (itemProtectionStatus == 
            Windows.Security.EnterpriseData.FileProtectionStatus.revoked) {
            item.deleteAsync().then(function () { return null; });
          }
        });
    }
}


Para obtener más información, consulta el espacio de nombres Windows.Security.EnterpriseData y la muestra del administrador de revocación de archivos.

Actualizaciones de Windows To Go

Windows 8 introdujo la capacidad de crear un área de trabajo Windows To Go que arrancaba desde una unidad externa conectada mediante USB en los equipos que cumplían los requisitos de certificación de Windows 7 o Windows 8. Un área de trabajo puede usar la misma imagen que usan las empresas para sus equipos de escritorio y portátiles, y puede administrarse del mismo modo. Windows 8.1 actualiza esta característica para permitir el arranque desde un dispositivo compuesto USB con función de almacenamiento y tarjeta inteligente.

 

 

Mostrar:
© 2017 Microsoft