Sicherheit

Stellen Sie den Benutzern Ihrer App eine Sicherheitsumgebung zur Verfügung, die ihnen bei der Arbeit nicht im Weg steht, und halten Sie mit den neuesten Authentifizierungstechniken Schritt. Windows 8.1 bietet neue Arten der Benutzerauthentifizierung und -verwaltung, eine erweiterte Unterstützung von Signaturen und Zertifikaten sowie neue Funktionen für gespeicherte Anmeldeinformationen.

Neues oder Aktualisierungen in Windows 8.1

Authentifizierung per Fingerabdruck

[Laden Sie sich das Beispiel für UserConsentVerifier herunter.]

Apps können jetzt einen Fingerabdruckscan zum Authentifizieren von Benutzern verwenden. Nutzen Sie die biometrische Authentifizierung, um eine App vor unberechtigter Verwendung zu schützen oder um den Zugriff auf bestimmte Seiten und Ressourcen zu kontrollieren. Verwenden Sie hierzu die UserConsentVerifier-Klasse im Windows.Security.Credentials.UI-Namespace.

Von der App sollte dabei zuerst überprüft werden, ob die Authentifizierung per Fingerabdruck auf dem Gerät des Benutzers möglich ist. Durch Aufrufen der UserConsentVerifier.CheckAvailabilityAsync-Methode kann ermittelt werden, ob das Gerät einen Fingerabdruckleser hat. Aber auch dann, wenn ein Gerät die Authentifizierung per Fingerabdruck unterstützt, sollte dennoch die App in den Einstellungen eine Option enthalten, mit der die Authentifizierung per Fingerabdruck aktiviert bzw. deaktiviert werden kann. Weitere Informationen zum Erstellen dieser Einstellung finden Sie unter Hinzufügen von App-Einstellungen.

Wenn die Authentifizierung per Fingerabdruck unterstützt wird und der Benutzer diese Einstellung aktiviert hat, können Sie die UserConsentVerifier.RequestVerificationAsync-Methode aufrufen. Gibt diese Methode das Ergebnis Verified zurück, können Sie die Ausführung der App fortsetzen.

WebAuthenticationBroker-Aktualisierungen

[Laden Sie sich das Beispiel für einen Webauthentifizierungsbroker herunter.]

Der Webauthentifizierungsbroker (dieser wird durch die WebAuthenticationBroker-Klasse dargestellt) wurde aktualisiert und kann jetzt vorhandene Anmeldeinformationen automatisch eintragen, sofern der Benutzer die Zustimmung erteilt hat. Die Anmeldeinformationen werden im Schließfach für Anmeldeinformationen gespeichert. Wenn sich eine App an einer Ressource anmelden muss und dafür den Webauthentifizierungsbroker nutzt, werden die vorhandenen Anmeldeinformationen verwendet und der Benutzer wird automatisch an der Ressource angemeldet, sofern der Broker im Schließfach die vorhandenen Anmeldeinformationen findet und der Benutzer die Zustimmung erteilt hat. Weitere Informationen finden Sie unter Webauthentifizierungsbroker.

Smartcards und virtuelle Smartcards

[Laden Sie sich das Smartcard-Beispiel herunter.]

Apps können jetzt mit Smartcardlesern kommunizieren und die Authentifizierung mithilfe von Smartcards durchführen, indem sie die im Windows.Devices.SmartCards-Namespace definierten APIs verwenden. Die folgenden Klassen bilden die Grundlage der wichtigsten Nutzungsszenarios für dieses Feature:

  • Die SmartCardReader-Klasse stellt einen Smartcardleser dar. Verwenden Sie die FindAllCardsAsync-Methode zum Abrufen von Informationen zu allen Smartcards, die dem Leser zugeordnet sind. Verwenden Sie die GetStatusAsync-Methode zum Abrufen des Status für den Smartcardleser (z. B. getrennt oder bereit).

  • Die SmartCard-Klasse steht für allgemeine Informationen zur Smartcard. Verwenden Sie die GetStatusAsync-Methode zum Abrufen des Status der Smartcard (z. B. getrennt oder bereit).

  • Mithilfe der SmartCardProvisioning-Klasse kann eine App eine Smartcard konfigurieren, Informationen zu einer konfigurierten Smartcard abrufen und eine virtuelle TPM-Smartcard (Trusted Platform Module, TPM) erstellen oder löschen. Verwenden Sie Member, wie z. B. die GetIdAsync-Methode und die GetNameAsync-Methode, um die ID bzw. den Minitreibernamen einer Smartcard abzurufen.

    Mit der RequestPinChangeAsync-Methode und der RequestPinResetAsync-Methode können Sie Benutzer auffordern, die PIN ihrer Smartcard zu ändern bzw. zurückzusetzen. Verwenden Sie die RequestVirtualSmartCardCreationAsync-Methode und die RequestVirtualSmartCardDeletionAsync-Methode, um eine virtuelle TPM-Smartcard zu erstellen bzw. zu löschen.

Dieses Codebeispiel veranschaulicht, wie eine virtuelle TPM-Smartcard erstellt werden kann, indem die RequestVirtualSmartCardCreationAsync-Methode der SmartCardProvisioning-Klasse aufgerufen wird. Bei diesem Methodenaufruf werden ein Anzeigename, ein Administratorschlüssel und eine PIN-Richtlinie angegeben.


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;
        }
    });
}

Weitere Informationen zu diesen und ähnlichen Szenarien und APIs finden Sie unter Windows.Devices.SmartCards.

Aktualisierungen für das Schließfach für Anmeldeinformationen

[Laden Sie sich das Beispiel zum Schließfach für Anmeldeinformationen herunter.]

Wir haben das Schließfach für Anmeldeinformationen aktualisiert, um es Ihnen zu erleichtern, Anmeldeinformationen von Benutzern zu speichern und den Benutzern dann bei Bedarf automatisch bereitzustellen. Windows 8.1 enthält die folgenden Änderungen in Bezug auf das Schließfach für Anmeldeinformationen:

  • Sie können Standardanmeldeinformationen identifizieren, wenn für eine Ressource mehrere Anmeldeinformationen vorhanden sind. Die PasswordCredential.Properties-Sammlung enthält jetzt eine Default-Eigenschaft.

  • Sie können ermitteln, wann Anmeldeinformationen zuletzt verwendet wurden, um nicht genutzte Anmeldeinformationen aussondern zu können. Die PasswordCredential.Properties-Sammlung enthält jetzt eine LastAccessed-Eigenschaft.

App-Kontoeinstellungen

[Laden Sie sich die Beispiele für das Schließfach für Anmeldeinformationen und den Webauthentifizierungsbroker herunter.]

Unter Windows 8.1 wurde der Vertrag "Einstellungen" aktualisiert und enthält jetzt auch die Kontoverwaltung. Sie können den Vertrag "Einstellungen" jetzt implementieren und Benutzern die Verwaltung mehrerer Sätze von Anmeldeinformationen für Konten ermöglichen.

Es kann z. B. sein, dass Sie einen E-Mail-Client nutzen, mit dem E-Mail-Nachrichten von mehreren Servern verwaltet werden. Oder Sie nutzen eine App für soziale Medien, in der Inhalte unterschiedlicher Medienwebsites und Dienste zusammengefasst werden. Sie können den Vertrag "Einstellungen" verwenden, um den Benutzerzugriff auf Anmeldeinformationen für all diese Websites und Dienste zu vereinfachen. Weitere Informationen zum Vertrag "Einstellungen" finden Sie unter Hinzufügen von App-Einstellungen.

Das SettingsCommand-Objekt enthält jetzt eine AccountsCommand-Eigenschaft. Sie können eine Instanz von CredentialCommand oder WebAccountCommand zu der ApplicationCommands-Sammlung hinzufügen, um die App-Kontoeinstellungen zu aktivieren und die AccountsCommand-Eigenschaft aufzufüllen.

Die Windows-Runtime bietet jetzt die folgenden Klassen für die Verwaltung von Konten mit App-Kontoeinstellungen:

WebAccountProvider

Dient zum Verwalten von Informationen und Metadaten für einen Onlineauthentifizierungsanbieter.

WebAccount

Steht für eine Instanz eines Kontos von einem Onlineauthentifizierungsanbieter.

WebAccountCommand

Steht für eine Instanz eines Kontos, die über das Konto-Flyout angezeigt wird. Wenn mehrere Konten verwaltet werden, wird jedes einzelne Konto durch eine WebAccountCommand-Instanz dargestellt.

CredentialCommand

Steht für eine Instanz von Anmeldeinformationen aus dem Schließfach für Anmeldeinformationen.

 

Vertrauenswürdigkeit und Zertifikate

[Laden Sie sich das Beispiel für Kryptografie und Zertifikate herunter.]

Windows 8.1 bietet erweiterte Unterstützung für die Nutzung von Zertifikaten und Signaturen, um die Sicherheit und Vertrauenswürdigkeit der Ressourcen zu erhöhen, die von Apps genutzt werden. Die folgenden Szenarien werden jetzt unterstützt:

Dieses Codebeispiel veranschaulicht, wie Sie ein Dokument mithilfe einer getrennten Signatur signieren.


// 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;
}

Selektive Zurücksetzung

[Laden Sie sich das Beispiel zu Dateisperrungsmanager herunter.]

Windows 8.1 bietet Unterstützung für die selektive Zurücksetzung. Damit können Sie Ordner und Dateien auf dem PC eines Benutzers identifizieren, die mithilfe eines Befehls von einem Server gesperrt (und anschließend gelöscht) werden können. Dieses Szenario eignet sich besonders für Unternehmen, wenn der PC eines Mitarbeiters verloren geht oder gestohlen wird oder wenn ein Mitarbeiter das Unternehmen verlässt, der Unternehmensdaten auf einem Privatgerät gespeichert hat.

Wenn eine neue Datei als App-Information hinzugefügt wird, können Sie die FileRevocationManager.ProtectAsync-Methode aufrufen, um diese Datei für die selektive Zurücksetzung zu registrieren. Bei der selektiven Zurücksetzung wird die Datei anhand einer Unternehmensidentität – meist ein Domänenname – identifiziert. Dies ist ein Codebeispiel:


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;
    });
}


Beim Zugriff auf eine Datei oder einen Ordner, die/der durch selektive Zurücksetzung geschützt ist, rufen Sie die FileRevocationManager.GetStatusAsync-Methode auf, um den Schutzstatus des Elements jedes Mal abzurufen, wenn auf das Element zugegriffen wird. Wenn der zurückgegebene Statuswert des Elements Revoked ist, löschen Sie die Datei.


// 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; });
          }
        });
    }
}


Weitere Informationen hierzu finden Sie unter Windows.Security.EnterpriseData-Namespace und Beispiel zu Dateisperrungsmanager.

Aktualisierungen für Windows To Go

Windows 8 führte die Funktion zum Erstellen eines Windows To Go-Arbeitsbereichs ein. Dieser Arbeitsbereich kann von einem externen USB-Laufwerk auf PCs gestartet werden, die den Zertifizierungsanforderungen von Windows 7 oder Windows 8 entsprechen. Für einen Arbeitsbereich kann dasselbe Image verwendet werden, das in Unternehmen für Desktops und Laptops genutzt wird, und auch die Verwaltung kann auf die gleiche Art und Weise erfolgen. Für Windows 8.1 wurde dieses Feature aktualisiert, um das Starten von einem USB-Verbundgerät mit einem Speicher und einer Smartcardfunktion zu ermöglichen.

 

 

Anzeigen:
© 2014 Microsoft