Freigeben über


Dieser Artikel wurde maschinell übersetzt.

Cloud-Sicherheit

Kryptodienste und Datensicherheit in Windows Azure

Jonathan Wiggs

Viele der frühen Anwender der Plattform Windows Azure haben immer noch viele Fragen zur Sicherheit der Plattform und die Unterstützung der Kryptografie. Meine Hoffnung hier ist es, einige der grundlegenden Konzepte der Kryptografie und die zugehörigen Sicherheit innerhalb der Plattform Windows Azure vorzustellen. So, dass ich nur Absicht bin, führen Sie vor, und überprüfen Sie einige der Kryptografie-Diensten und Anbietern im Windows-Azure, konnte die Details zu diesem Thema ganze Bücher ausfüllen. Es gibt auch einige Sicherheitsaspekte für alle Übergang zu Windows Azure.

Wie bei jeder neuen Plattform oder Service Delivery-Methode, werden Sie mit neuen Herausforderungen konfrontiert werden. Sie werden auch erinnert, dass einige der Probleme, die klassische noch vorhanden sein und sogar, dass einige der gleichen Lösungen Sie in der Vergangenheit verwendet haben, immer noch sehr gut funktioniert. Jede Anwendung Ingenieur oder Designer sollten zu diesem Thema vorstellen, wie er sich die Art der Daten bezieht, die Sie speichern können als auch beibehalten, benötigen Sie. Kombinieren diese in einen methodischen Ansatz, und Sie und Ihre Kunden werden well-served.

Also Warum würde ich denke, dass diese Informationen sind in der Entwicklercommunity erforderlich? Über den letzten Monaten habe ich eine wachsende Zahl von Beiträgen auf Communitywebsites im Hinblick auf Sicherheit im Allgemeinen mit Azure gesehen. Microsoft hat die Verschlüsselung als Teil der Anwendungsebene Datenabsicherung mit Azure Projekten vorgeschlagen. Verständnis der sowohl Verschlüsselung als auch das Sicherheitsmodell von .NET wird jedoch von Produkt Designer und Entwickler, die auf der Plattform Windows Azure benötigt werden.

Eine Sache, die ich bemerkt wurde eine wachsende Prozentsatz der Beiträge an kryptografischen Dienste und Schlüsselspeicherung. Dies galt insbesondere in Bezug auf Windows Azure Storage-Dienste. Haben Sie meine eigene Neugier wechseln, und habe ich entdeckt, es wurde ein Geschäftswerte Thema einige ausführlich besprechen.

Im Verlauf dieses Artikels werde ich starke Nutzung der Kryptografiedienstanbieter (CSP) vorgenommen die Implementierungen von kryptografischen Standards, Algorithmen und Funktionen vorgestellt in Schnittstelle eine System-Programm sind. Für die Zwecke dieses Artikels werde ich den symmetrischen Verschlüsselungsalgorithmus, die der Rijndael-Kryptografie-Klasse verwenden.

Krypto-Grundlagen

Windows Azure SDK erweitert die zentralen .NET Bibliotheken ermöglichen es dem Entwickler, integrieren und stellen der von Windows Azure bereitgestellten Dienste verwenden. Zugriff auf die Kryptografiedienstanbieter wurde nicht innerhalb von Windows Azure Projekte und Dienste beschränkt. Dies bedeutet, dass ein Großteil der Entwicklung in Bezug auf Verschlüsselung und Entschlüsselung von Daten befinden sich weiterhin im Hinblick auf die Assemblys, die Sie zur Verwendung von gewöhnt sind identisch. Es gibt jedoch Änderungen in der zugrunde liegende Architektur, die Probleme der wann oder wo zum Verschlüsseln von Daten und wo und wie Sie den Schlüssel beibehalten. Schlüssel und geheime Datenpersistenz etwas weiter unten in diesem Artikel werden besprochen.

Sie haben auch Zugriff auf das gesamte Angebot von kryptografischen Hash-Funktionen in Windows-Azure wie MD5 und SHA. Dies sind wichtige Verbesserung die Sicherheit eines Systems für Aktionen wie z. B. das Erkennen von doppelten Daten, Indizes für Hash-Tabelle, Nachricht Signaturen und Kennwortüberprüfung.

Eine konsistente Empfehlung besteht darin, dass Sie nie eigene erstellen oder einen proprietäre Verschlüsselungsalgorithmus verwenden. Die Algorithmen, die in die .NET Kryptografiedienstanbieter bereitgestellte bewiesen werden, getestet und seit vielen Jahren der Anfälligkeit für diese gesichert haben. XOR zum Erstellen eigener Cipher-Prozesses ist nicht identisch, und bietet nicht die gleiche Sicherheitsebene Daten.

Eine zweite Empfehlung besteht darin, die RNGCryptoServiceProvider-Klasse verwenden, um Zufallszahlen zu generieren. Auf diese Weise wird sichergestellt, haben zur Zufallszahlen generiert, die für Ihre Anwendung immer ein sehr hohes Maß an Entropie, wodurch es schwierig zu erraten, an dem Muster.

Der folgende Code implementiert einen einzelnen statischen Member, der einen 32-Bit-Int-Wert, der zufällige und erfüllt die Anforderungen zurückgibt an kryptografisch sicheren werden. Dies wird ermöglicht mithilfe des Byte-Generators in die RNGCryptoServiceProvider in der Kryptografie-Namespace gefunden:

public static int GenerateRandomNumber() {
  byte[] GeneratedBytes = new byte[4];
  RNGCryptoServiceProvider CSP = new RNGCryptoServiceProvider();
  CSP.GetBytes(GeneratedBytes);
  return BitConverter.ToInt32(GeneratedBytes, 0);
}

Abbildung 1 zeigt ein einfaches Beispiel für die Verwendung von CSPs innerhalb der Azure Windows-Plattform. Drei öffentliche Member werden für die Verwendung in einer beliebigen Windows Azure-Anwendung verfügbar gemacht. Die erste eine binäre Schlüssel und Initialisierungsvektor (IV) sowie einen binären Puffer der unverschlüsselte Daten akzeptiert und seine verschlüsselten Entsprechung gibt. Das zweite Element ist das Gegenteil durch Entschlüsseln der Daten. Das dritte Element gibt den berechneten Hashwert für diese Daten zurück. Beachten Sie hier, dass der Rijndael-CSP für den verwalteten Zugriff auf einen Anbieter verwendet wird. Ich bin auch das Speichern von Daten und Schlüsseln in binären Puffern und als ich diese nicht mehr über diese schreiben. Ich werde auf dieses Thema später berühren beim besprochen Unveränderlichkeit.

Abbildung 1 Einfache Verschlüsselung

public static byte[] SampleEncrypt(byte[] dataBuffer, 
  byte[] Key, byte[] IV) {

  MemoryStream InMemory = new MemoryStream();
  Rijndael SymetricAlgorithm = Rijndael.Create();
  SymetricAlgorithm.Key = Key;
  SymetricAlgorithm.IV = IV;
  CryptoStream EncryptionStream = new CryptoStream(InMemory,
    SymetricAlgorithm.CreateEncryptor(), CryptoStreamMode.Write);
  EncryptionStream.Write(dataBuffer, 0, dataBuffer.Length);
  EncryptionStream.Close();
  byte[] ReturnBuffer = InMemory.ToArray();
  return ReturnBuffer;
}

Dies ist das einfachste Beispiel für die Verschlüsselung von Daten und die verschlüsselte Ergebnisse als Bytearray zurückgegeben. Dies ist kein Code, der in einer sicheren Umgebung ohne all die richtigen Sicherheitseinstellungen Analyse, nur ein Beispiel für verwendet werden soll.

Das Beispiel in Abbildung 2 hat eine fast identische Struktur zu dem im Abbildung 1 . In diesem Fall habe ich Entschlüsseln von Daten basierend auf dem gleichen Schlüssel und IV, nur mit einem verschlüsselten Bytepuffer als Parameter. Der einzige Unterschied hier ist, dass beim Erstellen des Streams Verschlüsselung ich angeben, dass ich einen symmetrischen Entschlüsselungsmechanismus und keine Encryptor erstellen bin wie zuvor.

Abbildung 2 Simple Entschlüsselung

public static byte[] SampleDecrypt(byte[] dataBuffer, 
  byte[] Key, byte[] IV) {

  MemoryStream InMemory = new MemoryStream();
  Rijndael SymetricAlgorithm = Rijndael.Create();
  SymetricAlgorithm.Key = Key;
  SymetricAlgorithm.IV = IV;
  CryptoStream EncryptionStream = new CryptoStream(InMemory,
    SymetricAlgorithm.CreateDecryptor(), CryptoStreamMode.Write);
  EncryptionStream.Write(dataBuffer, 0, dataBuffer.Length);
  EncryptionStream.Close();
  byte[] ReturnBuffer = InMemory.ToArray();
  return ReturnBuffer;
}

Key Storage und Permanenz

Wie bei jeder Verschlüsselungsstrategie auf Anwendungs- oder Enterprise-Ebene, ist die Verschlüsselung und Entschlüsselung Infrastruktur kleiner als die Hälfte der Schlacht. Das eigentliche Problem im Lieferumfang von Schlüsselspeicherung und Schlüssel Dauerhaftigkeit. Die Datensicherheit, bereitgestellt durch das Verschlüsseln von Daten ist nur so sicher wie die Schlüssel verwendet, und dieses Problem ist erheblich schwieriger als Personen auf den ersten Blick denken möglicherweise. Systeme, die ich geprüft habe haben Crypto überall aus direkt im Quellcode, um Textdateien, die mit dem Namen etwas intelligente, um Flatfiles in schwer zu findende Verzeichnissen gespeicherten Schlüssel gespeichert.

Eine wichtige Frage der wichtigsten Dauerhaftigkeit stammen zu, bei der Überlegung, wo speichern und Beibehalten von Schlüsseln in einer Cloud-Umgebung. Einige Personen haben Anliegen ausgedrückt, dass durch Beibehalten von Schlüsseln in der Wolke Sie selbst zu einem Sicherheitsrisiko aus der Wolke selbst Verfügbarmachen sind. Das heißt, wenn eine Person physischen Zugriff auf Ihre Daten erhalten kann, können auf Datenträger gespeicherte Daten nicht standardmäßig verschlüsselt werden (wie bei Windows Azure der Fall ist). Erwägen, dass SQL Azure noch Verschlüsselung entweder nicht unterstützt, wird dies eine Sicherheitsentscheidung in die Planung und Entwurf der Lösung berücksichtigt werden. Wie bei jeder Implementierung von Sicherheit, müssen die Risiken gemessen, gewichtet und verringert werden.

Aber das bedeutet nicht, dass Wolke Plattformen im Allgemeinen – und Azure in bestimmten Windows – sind grundsätzlich nicht sicher. Welche anderen Optionen stehen Ihnen möglicherweise?

Sofort zu beachten ist, dass keine Anwendung jemals einen der Schlüssel, der von Windows Azure als Schlüssel bereitgestellte verwenden soll, um Daten zu verschlüsseln. Ein Beispiel wäre der Schlüssel für den Speicherdienst von Windows Azure bereitgestellt. Diese Schlüssel sind so konfiguriert, dass ermöglichen eine einfache Drehung für Sicherheitszwecke oder wenn Sie aus irgendeinem Grund beschädigt werden. Anders ausgedrückt: Sie möglicherweise nicht vorhanden in der Zukunft und möglicherweise zu weit verteilt werden.

Speichern Ihre eigenen Schlüssel Bibliothek in Windows Azure Storage-Dienste ist eine gute Möglichkeit, einige geheimen Informationen beibehalten, da Sie auf diese Daten werden in der multi-tenant Umgebung sicherer und gesicherte durch Ihren eigenen Speicherschlüssel verlassen können. Dies unterscheidet sich von Speicherschlüssel als Ihre kryptografischen Schlüssel verwenden. Der Speicherschlüssel Dienst können Sie stattdessen ein Bibliothek Schlüssel zugreifen, wie in anderen gespeicherte Datei. Dies ist recht einfach zu implementieren. Genommen Sie an, Sie implementieren Sie Ihre eigenen Schlüssel Bibliothek als einfache Textdatei mit einigen geheimen Informationen beibehalten möchten. Dies würde am besten als Daten in den Blob-Dienst-API im Gegensatz zu der Warteschlange oder eine Tabelle Speicherdienst gespeichert werden. Der Blob-Bereich von der Speicherdienst ist am besten für Daten, z. B. binäre Audio- und Bilder oder sogar Textdateien. Der Warteschlange Teil des Dienstes konzentriert sich auf sicherem messaging für kleine Datenobjekte, die nicht für längere Zeit beibehalten. Das Speichersystem Tabelle eignet sich hervorragend für strukturierte Daten und Informationen, die beibehalten und in bestimmten Teilen, identisch mit relationalen Daten in einer Datenbank zugegriffen werden muss.

Sie starten, indem Sie einen Schlüssel in einem Schlüsselcontainer CSP beibehalten. Dies ist eine hervorragende Option zum Speichern von einen öffentlichen Schlüssel, mit denen Sie schlecht ohne physischen Zugriff auf den Server abrufen. Mit Windows Azure, wobei die Position von Anwendungen und Daten abstrahiert wird, stellt dies sogar einen öffentlichen Schlüssel gespeichert, auf diese Weise nur schwer zu finden und abrufen. Die Erstellung eines Containers Schlüsselspeicherung ist sehr einfach; hier ist ein Beispiel für die Verwendung von RSA-Anbieters, die unsere Schlüssel erstellt. Der Schlüsselcontainer ist bereits vorhanden, wird dessen Schlüssel automatisch in den Anbieter geladen:

CspParameters CspParam = new CspParameters();
CspParam.KeyContainerName = "SampleContainerName";
RSACryptoServiceProvider RSAProvider = new 
  RSACryptoServiceProvider(CspParam);

Es gibt auch andere Optionen, die Sie in Betracht ziehen können basierend auf Ihren Anforderungen. Beispielsweise können Sie bestimmte Flags verwenden, um den Schlüssel für den Benutzer zu schützen, die den Container erstellt. Dies kann mit der Verwendung der Flags-Mitglied CspParameters erfolgen:

CspParam.Flags = CspProviderFlags.UseUserProtectedKey;

Nun erstellen Sie eine Anforderung an die API, die mit Ihrem Windows Azure Speicher Schlüssel-Blob. Die Anforderung selbst erfordert sowohl eine Signaturzeichenfolge als auch einen richtigen Anforderungsheader. Das entsprechenden Headerformat lautet folgendermaßen:

Authorization="[SharedKey|SharedKeyLite] <AccountName>:<Signature>"

In diesem Fall möchte ich die Sicherheit meiner Daten beibehaltenen 
secret zu maximieren, so dass ich die SharedKey-Autorisierungsmethode verwenden werden. Der Signatur Teil der Kopfzeile wird ein Hash-basierten Authentifizierungscode, der durch den Algorithmus SHA256 und Ihrer Speicherung Schlüssel für die Daten in der Signatur generiert wird. Dieses Hash wird dann in eine base64-Zeichenfolge codiert. Eine Signatur Beispiel könnte folgendermaßen aussehen:

"PUT\n\ntext/plain; charset=UTF-8\n\nx-ms-Date:Fri, 12 Sep 2009 22:33:41 GMT\nx-ms-meta-m1:v1\nx-ms-meta-m2:v2\n/exampleaccount/storageclientcontainer/keys.txt"

Wie zuvor beschrieben, würde ich den Hash von base64-codierte generiert und, in der Kopfzeile als die Signatur verwenden. Diese Schlüsseldatei konnte dann nur durch diejenigen zugegriffen werden, die eine Anwendung verfügen, die in Ihrem Space Anwendung in der Wolke Windows Azure mit Zugriff auf Ihre Speicherschlüssel ausgeführt wird. Damit mit Schlüssel Dauerhaftigkeit, Sie können verwalten entweder die Schlüssel, die außerhalb des Windows-Azure Frameworks oder innerhalb der Wolke selbst.

Schlüssel und Angriffe auf die Sicherheit

Ein Artikel lohnt es sich, mindestens kurz abdeckt ist Schlüsselsicherheit. Dies ist ein etwas anderes Thema als das beibehalten und Schlüssel speichern. Schlüssel selbst sind im Wesentlichen Zeichenfolgen, die ein sehr hohes Maß an Entropie, d. h. einen außerordentlich hohen Grad an Zufälligkeit. In der Tat kann dies mit einem gemeinsamen Angriff Prozess zu führen Schlüssel innerhalb eines Systems finden. Wenn Sie ein Abbild der Arbeitsspeicher oder einen Bereich von Daten auf einer Festplatte durchführen, sind die Bereiche des äußerst hohen Entropie z. B. großartige Speicherorte für Mining-Viewer für Schlüssel zu starten.

Abgesehen von der Auswahl gute Sicherheitsverfahren auf der Grundlage der Anforderungen Ihrer Anwendung und Ihre Daten sichern, wie sonst können Sie schützen Sie sich? Um zu beginnen, immer davon aus, dass die Prozesse, die Sie verwenden, um zu entschlüsseln, Verschlüsseln und Sichern Sie Daten zu jeder Angreifer bekannte sind. Stellen Sie mit, denken Sie daran sicher, dass Ihre Schlüssel in regelmäßigen Abständen zu durchlaufen und Sie gewährleisten. Geben Sie nur den Personen, die vornehmen müssen, deren Verwendung und beschränken die Anfälligkeit für Tasten, die außerhalb des Steuerelements abrufen.

Investieren Sie schließlich Zeit in den Fluss der Daten, sicheren und unsicheren abbilden. Schauen Sie sich, wo Ihre Daten geht und wie, wo Sie geheime Informationen speichern und insbesondere bei der Verwendung Ihrer Daten die Begrenzungen wie z. B. öffentlichen und privaten Netzwerken schneidet. Dies wird Ihnen eine gute Vorstellung davon, wo Ihre Daten offen gelegt wird und ermöglichen es Ihnen, diese Risiken mit Pläne zur Risikominimierung auf einfache Weise als Ziel.

Eine entsprechende Frage, die ich gebeten haben, wird, ob Windows Azure SSL unterstützt. Die kurze Antwort darauf lautet Ja! Windows Azure wäre nicht sehr leistungsfähig Wolke Plattform für webbasierte Dienste und Anwendungen ohne Unterstützung für SSL.

Verschlüsselung mit SQL Azure

Die SQL Server 2008-Version wurde ein neues Feature eingeführt: transparente Datenverschlüsselung (TDE). Zum ersten Mal können SQL Server verschlüsseln die Daten vollständig mit sehr geringem Aufwand über was für die begrenzte Verschlüsselung in SQL Server 2005 erforderlich war. Allerdings unterstützt die ursprüngliche Version von SQL Azure Speicher noch keine Datenbankebene Verschlüsselung handele es sich um ein Feature für eine zukünftige Version berücksichtigt werden. Sie sollten SQL Azure ist nur verfügbar, über Port 1433 und nur über die TCP-Verbindungen erwähnt werden, kann es derzeit nicht verfügbar gemacht werden an anderen Anschlüssen.

Obwohl dieses Feature noch nicht in Windows Azure integriert ist, stehen einige Sicherheitsfunktionen von SQL-Azure, die den Entwickler oder Designer bedenken sollten. Zunächst einmal unterstützt SQL Azure tabular Data Stream (TDS). Dies bedeutet, dass in den meisten Fällen eine Verbindung herstellen und interagieren mit der Datenbank, wie Sie immer durchgeführt haben. Vorteile von ADO.NET Verschlüsselung und Zertifikate für vertrauenswürdigen Server lohnt definitiv in Erwägung ziehen, insbesondere dann, wenn Ihre Azure SQL-Datenbank außerhalb der Wolke zugreifen.

Eigenschaften für die Verbindung mit dem Encrypt = True und TrustServerCertificate = False, in der richtigen Kombination, stellen Sie sicher die Datenübertragung sicher und kann dazu beitragen, Man-in-the-Middle-Angriffe zu verhindern. Dies ist auch eine Anforderung zum Herstellen einer Verbindung zu SQL Azure – Sie können keine Verbindung zu SQL Azure, es sei denn, Verbindungsebene Verschlüsselung aktiviert wurde.

Die zweite Sicherheitsfunktion von SQL-Azure, die Sie sich mit vertraut machen sollten, ist die SQL-Azure-Firewall. Dieses Tool wird die sehr vertraut sein, die lokalen Softwarefirewalls oder sogar SQL Server Sicherheit Oberfläche Bereich Toolsets verwendet haben. Sie können zulassen oder verhindern Verbindungen von verschiedenen Quellen, ganz nach unten zu bestimmten IP-Adressen oder Adressbereiche. Die SQL-Azure Firewall kann über das Portal SQL Azure oder direkt in der master-Datenbank mit den bereitgestellten gespeicherten Prozeduren, wie z. B. Sp_set_firewall_rule und Sp_delete_firewall_rule verwaltet werden.

Wie bei jeder Implementierung von SQL Server, ist die Verwaltung von Benutzerkonten ein weiterer Aspekt, der streng kontrolliert werden muss. Die Firewall in SQL Azure ist tatsächlich ein hervorragendes Tool, aber es sollte nicht werden auf verlassen sich selbst. Benutzer Benutzerkonten durch sichere Kennwörter und mit bestimmten konfiguriert Rechte sollte auch verwendet werden, um Ihr Sicherheitsmodell Daten zu ergänzen.

Diese neuen Tools gehen Sie so lange in Richtung SQL Azure eine sehr enge gesicherte verwaltete Plattform für die Wolke-basierte Anwendungen erstellen. Wenn Sie außerhalb dieses Dienstes zum ersten Mal versuchen, denken Sie daran, dass vor dem Herstellen einer Verbindung können Anfangs SQL Azure-Firewall konfiguriert werden muss. Dies muss zuerst über das Webportal Azure SQL durchgeführt werden, kann später direkt in der master-Datenbank ausgeführt werden, wie oben beschrieben.

Unveränderlichkeit und im Arbeitsspeicher

Immuta-was? Unveränderlichkeit in der objektorientierten Programmierung bedeutet einfach, den Zustand des Objekts nach der anfänglichen Erstellung nicht geändert werden kann. Ein konkretes Beispiel in Microsoft .NET Framework ist die Zeichenfolgenklasse. Wenn der Wert eine Zeichenfolge im Code geändert wird, die ursprüngliche Zeichenfolge im Arbeitsspeicher wird einfach abgebrochen und ein neues Zeichenfolgenobjekt wird erstellt, um den neuen Wert zu speichern.

Warum ist dies wichtig aus Gründen der Sicherheit? Gut, die Zeichenfolge im Arbeitsspeicher für bleiben kann, solange der Server online, ohne einen Neustart des Computers ist. Sie können wirklich nicht mit Sicherheit wissen, wie lange eine Zeichenfolge im Arbeitsspeicher behalten werden. Dies ist wichtig, beim Speichern von Informationen im Code wie kryptografische Schlüssel oder Kopien verschlüsselt und entschlüsselt Daten in Betracht ziehen. Lassen Sie eine Spur der hinter der Sie Daten im Arbeitsspeicher, bleiben Sie Informationen, die Ihre vertraulichen Daten zu der Dieb kluger Daten verfügbar macht.

Aufgrund der diese Sicherheitsanfälligkeit wird immer empfohlen, dass solche Daten im Puffer wie z. B. Bytearrays gespeichert werden. Auf diese Weise, wie Sie mit den Informationen vorgenommen haben, können Sie den Puffer mit Nullen überschreiben oder andere Daten, die sicherstellt, die Daten dass nicht mehr in diesen Speicher.

Da Windows Azure einer Wolke Umgebung habe ich gebeten Wenn Hierbei handelt es sich um eine noch ein Problem, und es eine gute Frage ist. True, werden in der Windows-Azure System einzelne Anwendungen voneinander isoliert. Auf diese Weise Offenlegen Daten im Arbeitsspeicher viel weniger ein Problem im Allgemeinen. Es wäre sehr schwierig, Anwendungen und Speicherplatz in der Wolke zuzuordnen. Allerdings sollten dennoch vorsichtig Ansatz und Bereinigen nach sich. Sie möglicherweise nicht immer Ausführen dieser Teil des Codes in der Wolke und andere Sicherheitsanfälligkeiten möglicherweise selbst in der Zukunft bereitstellen. Zwar weniger Bedeutung behalten Sie diese Strategien und behalten Sie dieser Ansatz bei.

Abbildung 3 ich im vorherige Beispiel geändert haben, das ganzzahlige Zufallszahlen generiert. Hier etwas Fehlerbehandlung, um sicherzustellen, dass ich hinzugefügte einer finally-block, die immer ausgeführt wird, unabhängig davon, was. Innerhalb dieses Blocks verwende ich eine sehr einfache Iteration durch die Werte in das Bytearray durchführen, überschreibt jede Position mit einer 0 (null). Dadurch werden die Daten im Arbeitsspeicher überschrieben, da Bytearrays änderbar sind. Ich weiß, dass diese Zahl nicht mehr im Speicher, die im Besitz der Ausführung dieses Mitglied ist. Dies kann für jedes Bytearray verwendet als Datenpuffer für Elemente wie Schlüssel, Initialisierungsvektoren und Ver- oder entschlüsselte Daten erfolgen.

Abbildung 3 Löschen von Daten aus dem Speicher

public static int GenerateRandomNumber() {
  byte[] GeneratedBytes = null;

  try {
    GeneratedBytes = new byte[4];
    RNGCryptoServiceProvider CSP = 
      new RNGCryptoServiceProvider();
    CSP.GetBytes(GeneratedBytes);
    return BitConverter.ToInt32(GeneratedBytes, 0);
  }
  finally {
    for (int x = 0; x < GeneratedBytes.Length; x++) { 
      GeneratedBytes[x] = 0;
    }
  }
}

Nachrichtenwarteschlangen

Windows Azure Warteschlangen bieten eine ähnliche Gruppe von Funktionen zu den Diensten von Microsoft Message Queuing (MSMQ), die Enterprise-Windows-Anwendungen gemeinsam sind. Die Warteschlange der Nachrichtendienst in Windows Azure speichert textbasierten Nachrichten, die nicht größer als 8 KB in einer Weise First-in, First-out (FIFO). Auf diese Weise können Dienste und Anwendungen, die auf verschiedenen Servern ausgeführt werden – oder in diesem Fall in der Wolke, für die Interaktion und umsetzbare Nachrichten untereinander in einer sicheren und verteilte Art und Weise senden.

Es gibt fünf grundlegende Funktionen, mit denen Sie eine Nachricht an die Warteschlange übertragen, Einsehen einer Nachricht, und so weiter Abrufen einer Nachricht. Ist die Frage, bis die meisten häufig hat die, wie sicher diese Meldungen sind?

Viele der Features, die derzeit von MSMQ unterstützt sind noch nicht in der Windows-Azure messaging APIs unterstützt. Es gibt jedoch Ähnlichkeiten. Wie bei der Blob-Daten-Dienst stellt die messaging-Dienste verwenden die gleichen REST Get- und fügen Schnittstellen. Schreiben und Lesen von Nachrichten können erfolgen, im Code oder mit einem URI und Webanforderung aufruft, können über SSL für Anforderungen über unsichere Netzwerke verschlüsselt werden. Dies bedeutet, dass Übertragung von Anforderungen verschlüsselt ist.

Wie bei den anderen Speicherdienste innerhalb Windows Azure Zugriff an eine Nachrichtenwarteschlange muss stellen außerdem mithilfe des gleichen Speicher-Dienst-Schlüssels. Nur Anwendungen den Zugriff auf den Schlüssel können anzeigen oder Nachrichten an diese Warteschlangen hinzufügen. Dadurch wird eine zusätzliche Verschlüsselung dieser Nachrichten übertrieben 
unless, die der Textkörper dieser Nachrichten das gesicherte Netzwerk verlassen werden soll oder Anwendungsbereich gesichert.

Zusammenfassung

Im heutigen Laufwerk serviceorientierte Architektur und Lösungen können nur wenige schwacher Unternehmen ohne Wolke Anwendungen. Die Isolation von Daten und Diensten in einer multi-tenant Umgebung, z. B. Windows Azure ist eine der wichtigsten Aspekte der jeder Benutzer, der über ein Auge in Richtung mithilfe von private Daten verfügt.

Wie mit jeder neuen Plattform, Sicherheit und Kryptografie-Features in der Windows-Azure Plattform weiterentwickelt weiterhin. Microsoft hat hervorragende Pains nicht nur eine sichere und isolierte Umgebung bereitstellen, aber auch, um was verfügbar zu machen dies ist bereits damit für diese Maßnahmen öffentlichen Zertifizierungsstellen übernommen. Diese sollten Ingenieure erhalten vertrauen, dass Microsoft als Partner näher auf Sicherheit und Schützen von Systemen und Anwendungen möchte gesperrt.

Die gesamte Sicherheit und insbesondere Kryptografie ist zu Ihrer Informationen und Prozesse sehr schwierig, für den Zugriff auf. Wir können “ hart ” als Bedeutung definieren, die über die Möglichkeit, alle Gegner in ein solches System einzudringen, für die Dauer der Lebensdauer des betreffenden Daten oder der Prozess ist. Dies ist jedoch eine relative Definition auf der Grundlage der Anforderungen der Anwendung oder Daten verwendet wird. Ist der Grund, warum ich Fortsetzung haben, um die Notwendigkeit der Konstante Auswertung von Sicherheits- und kryptografischen Anforderungen durch diesen Artikel hervorzuheben. Das ist wichtig, dass diese Tools effektiv um Ihr System Wolke sicher zu machen und zum Schutz Ihrer Daten verwendet werden können.

Jonathan Wiggs ist derzeit ein principal Engineer und Development Manager bei Nuance Communications, Inc. Lesen seinen Blog unter jonwiggs.com oder Kontakt Wiggs direkt am Jon_Wiggs@yahoo.com.