Vertraulichkeit - Sensitivity

Normalerweise regeln Benutzer über die Zugriffsrechte auf das Postfach, wer etwas sehen darf. Dazu gibt es drei wesentliche Abstufungen:

  • Stellvertreter mit Outlook
    Der Anwender kann pro Ordner selbst festlegen, wer diesen Ordner sehen oder Inhalte verändern kann. Leider funktioniert das nur mit den Standardordnern einfach, da der Stellvertreter nur diese direkt öffnen kann. An andere Ordner kommt er aber nur, wenn er das Postfach einbinden kann, wozu er auch Berechtigungen auf der "Wurzel " braucht. Dies ist aber ein Sicherheitsthema.
  • Senden als
    Muss ein Benutzer nur "im Auftrag eines Anwenders" senden, dann kann ihm der Administrator dieses Recht einfach vergeben. Ein Zugriff auf die Inhalte ist nicht erforderlich
  • Mailboxrechte
    Zuletzt kann ein anderes Konto natürlich "vollen Zugriff" erhalten. Dann kann er aber fast wie der Besitzer selbst alle Elemente im Postfach sehen. Der rechtmäßige Besitzer kann das andere Konto nicht beschränken (Deny o.ä.)

Leider wird genau die letzte Option oft angewendet, wenn Personen im Vorzimmer auf das Postfach des/der Vorgesetzten zugreifen müssen. Private Mails gibt es nicht. Das ist ganz richtig, denn Outlook stellt ein Verhalten bereit, welches hier doch noch "private Mails" zulässt. Outlook kennt das Feld der "Vertraulichkeit", welche hierzu genutzt werden kann.

Hinweis: Dieses Flag an Elementen einer Mailbox ist kein Schutz gegen fremde Zugriffe sondern eher mit dem "HIDDEN"-Attribut an einer Datei zu vergleichen.

Private Mails

Es gibt an verschiedenen Stellen die Option, Elemente "Privat zu kennzeichnen. Wenn ich eine Mail verfasse, dann kann ich als Absender in den Optionen eine "Vertraulichkeit" einstellen.

Wenn ich einen Termin oder Kontakt anlege, dann ist die Option "Privat" bei Outlook 2007 auch in den Eigenschaften versteckt:

Frühere Outlook Versionen hatten dazu unten rechts noch einfach eine Checkbox zum Ankreuzen.

Achtung
Die Einstellung der Vertraulichkeit bei einem Kontant ist nur im Moment des Anlegens möglich. Ein einmal angelegter Kontakt kann nachträglich nicht mehr geändert werden.

Bei Terminen ist es hingegen immer wieder möglich, den Vertraulichkeitsstatus zu ändern. Leider kann ein Anwender diese Kennzeichen auch nicht bei eingegangenen Mails setzen. Das Feld ist einfach grau

Und auch per VBA kann dieses Feld nicht über das Outlook Object Modell gesetzt werden. Ich bin mir nicht sicher, ob dies alles so richtig durchdacht ist.

Bitte verwechseln Sie die Einstellungen bezüglich der Vertraulichkeit nicht mit den Kategorien:

Diese Einstellung ist einfach nur eine Kategorie, aber sagt nichts über die Vertraulichkeit aus und schützt vor allem nicht die Informationen

Vertraulichkeit und fremde Zugriffe

Die Einstellungen der Vertraulichkeit bewirken beim Postfachbesitzer, dass er erst einmal an verschiedenen Stellen diesen Status sieht:

Interessanter wird es für die Stellvertreter oder Personen, die über "Vollzugriff" oder Berechtigungen auf Order wie den Posteingang auf andere Postfächer zugreifen. Hier berücksichtigen Outlook und OWA bei der Anzeige sehr wohl die Vertraulichkeit. "Private Mails" werden nicht angezeigt, wie Sie dies auf folgendem Bild sehen können:

Aber Sie sehen hier natürlich auch gleich die beiden Schwächen, an denen jemand sehen könnte, dass noch "etwas" da ist.

  • Neue Mail aber keine Sichtbar
    Am "fetten" Posteingang mit der "(1)" dahinter könnte ein Stellvertreter erkennen, dass hier eine neue Mail zur Verarbeitung liegen könnte. Aber er sieht nichts und wird wohl den Helpdesk anrufen.
  • In der Fußzeile passt die Anzahl nicht
    In diesem Beispiel wird für den leeren Posteingang das Vorhandensein "einer" Mail angezeigt. Auch dies kann Anwender und Helpdesk verwirren

Das gleiche gilt für Termine in einem freigegebenen Kalender. Auch hier: Ein leerer Kalender (Ansicht: "Alle Termine")

Unten rechts steht "ein Element" zur Anzeige an. Es muss also etwas geben, was in der Ansicht nicht angezeigt wird. Allerdings ist auch kein Filter aktiv, den man ebenfalls unten in der Fußzeile sehen würde

Wer nun glaubt, er könne per VBA-Makro genauer hinschauen, den muss ich enttäuschen. Das Outlook Objektmodell erlaubt keinen Zugriff auf private Mails für Stellvertreter. Das System scheint also sicher zu sein.

Achtung: OWA

Leider ist der Schutz immer nur eine Frage der Applikation. Outlook respektiert das "Privat"-Flag und blendet private Elemente in anderen Postfächern aus. OWA tut dies nicht, wie folgende beiden Bilder zeigen. Erst die Anzeige in Outlook

Und dann das gleiche Postfach per OWA unter Exchange 2010.

Hier weist Outlook sogar noch mal explizit darauf hin, dass der Mail "Privat" ist. Der "Fehler" ist auch in Exchange 2003 vorhanden und vermutlich auch in Exchange 2007.

In OWA kann ich auch Kalender anderer Personen mit öffnen. Hier einen Kalender, der von dem Benutzer "TestOCS1" mir mit Anzeige privaten Elemente frei gegeben wurde. Auch Outlook zeigt das gleiche Bild.

Outlook Web Access 2010

Outlook 2007

Gibt der Benutzer TestOCS1 den Kalender aber nur zum "Lesen, erstellen und ändern" frei und verzichtet auf die privaten Optionen,

Stellvertreter einrichten

Damit jemand überhaupt auf ein anderes Postfach zugreifen kann, muss er natürlich dort erst mal zugreifen können. Dazu gibt es drei Optionen

  • Vergabe durch den Anwender über "Extras - Optionen -Stellvetreter
    '
    Hier ist besonders interessant, dass es ein eigenes Flag gibt, ob der Stellvertreter dann auch private Elemente sehen kann.
  • Per Exchange Management Console
    Hierüber kann ein Administrator jemand anderem "Vollzugriff" geben.

    Dann kann der Benutzer alles im Postfach sehen. Per Outlook werden dennoch die privaten Termine verborgen
  • Per PowerShell oder CDO über Berechtigungen auf einzelne Ordner
    Per CDO oder PowerShell kann auch ein Administrator einzelne Rechte setzen können. (Siehe auch FolderPermission) Die entsprechenden PowerShell-Commandlets lauten:
Add-MailboxFolderPermission
Get-MailboxFolderPermission
Remove-MailboxFolderPermission

Hintergründe

Also wird es Zeit etwas hinter die Kulissen zu schauen. Das Mittel der Wahl ist hier natürlich "MFCMAPI" oder EWSEditor (Ab Exchange 2007), welche beide einen ungefilterten Einblick auf das Postfach geben können. Hier ein Zugriff auf ein anderes Postfach per Outlook und per MFCMAPI:

Outlook Posteingang mit zwei Elementen MFCMapi Posteingang mit drei Elementen

Der Anwender hätte also durch die Möglichkeit, die Elemente zu sehen, aber Outlook verhindert den Zugriff auf der Client Seite. Vergleicht man dann eine "normale" Mail zu einer "Privaten Mail", dann kommt sehr schnell heraus, dass es genau ein Feld, ist, dessen Inhalt darüber entscheidet, was Outlook anzeigt:

Das Feld "PR_SENSITIVITY" kann folgende Werte annehmen

CdoPR_CONTAINER_CLASS = &H00360003
    ' Property Name(s): PR_SENSITIVITY
    ' PidTagSensitivity, ptagSensitivity 

Const CdoNoSensitivity = 0 ' Default
Const CdoPersonal      = 1 ' Personal 
Const CdoPrivate       = 2 ' Private 
Const CdoConfidential  = 3 ' Vertraulich

Entsprechende Seiten auf der MSDN beschreiben das Objekt weiter

Das Feld "Sensitivity" ist generell schon durch den Anwender änderbar. Allerdings nicht in jedem Fall über die Outlook API. Sie können es selbst mir folgenden VBA-Makro versuchen. Markieren Sie einfach ein paar Mails und starten Sie dann das Makro

Sub MarkAsPrivate()
    Dim OlApp As New Outlook.Application
    Dim OlExp As Outlook.Explorer
    Dim OlSel As Outlook.Selection
    Dim OLItem As MailItem
    Dim x As Integer
    Set OlExp = OlApp.ActiveExplorer
    Set OlSel = OlExp.Selection für x = 1 To OlSel.Count
        Set OLItem = OlSel.Item(x)
        OLItem.Sensitivity = olPrivate
    Next x
End Sub

Bei Mailitems erhalten Sie einen Abbruch mit folgendem Fehler

Insofern ist die Einstufung für Mails durch den Absender vorgegeben.

Vertraulichkeit zwischen Organisationen

Es versteht sich von selbst, dass diese Einstufung zwischen Outlook Clients innerhalb einer Firma sicherlich bestand haben aber wie sieht es bei der Übertragung über das Internet aus ?. Eine Testmail mit einer Vertraulichkeit zeigt, dass dieses Feld es sogar bis in den Header schafft:

Sat, 27 Feb 2010 15:37:05 +0100
Subject: Private Mail
Sensitivity: private
Date: Sat, 27 Feb 2010 14:37:02 +0000
Message-ID: <040E45180AF72244955E7A2FA5E1DB0F047A166C@NAWEX001.netatwork.de>
Accept-Language: de-DE, en-US
X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8089.726

Allerdings ist diese Mail damit noch lange nicht verschlüsselt, sondern nur gekennzeichnet. Eigentlich ist diese Kennzeichnung eher Kontraproduktiv, da jemand, der wichtige Inhalte scannen möchte, sehr viel einfacher seine Mailfilter einfach auf dieses Feld konzentrieren kann.

Diese Feld wurde ursprünglich vermutlich im X.400 Rahmen definiert und versucht in die SMTP-Welt zu übertragen. Aber eine verabschiedete RFC konnte ich dazu nicht finden. Nur verschiedene "Experimentelle" RFCs, die Aussagen zum Feld "Sensitivity" machen, z.B.:

  • RFC2076 Common Internet Message Headers
  • RFC1327 Mapping between X.400(1988) / ISO 10021 and RFC 822
  • RFC1911 Voice Profile für Internet Mail

Sensitivity:
The sensitivity header, if present, indicates the requested privacy level. The case-insensitive values "Personal" and "Private" are specified. If no privacy is requested, this field is omitted. If a sensitivity header is present in the message, a conformant system MUST prohibit the recipient from forwarding this message to any other User. If the receiving system does not support privacy and the sensitivity is one of "Personal" or "Private", the message MUST be returned to the sender with an appropriate error code indicating that privacy could not be assured and that the message was not delivered.
Quelle: RFC1911 Voice Profile für Internet Mail

Wer also zuverlässig sicherstellen will, dass eine "Private Mail" auch wirklich nur von dem Empfänger gelesen wird, der sollte sich nicht auf dieses Feld verlassen, sondern die Mail korrekt verschlüsseln. Nur dann ist wie wirklich so sicher wie der private Schlüssel des Empfängers. (Siehe auch Signieren und Verschlüsseln)

Einsatzzweck für Migrationen

Das Feld kann eine Hilfe sein, z.B. wenn Sie im Rahmen einer Migration z.B. von Notes nach Exchange/Outlook migrieren. In Notes können Anwender sehr einfach und schnell Elemente "verschlüsseln". Jeder Notes Anwender hat dazu eine Notes-ID, welche alle kryptografischen Voraussetzungen mitbringt, um damit Elemente zu verschlüsseln. Daher können Notes Anwender untereinander problemlos auch Signieren und Verschlüsseln, wozu sie bei Outlook entweder Add-ons (PGP etc.) oder Zertifikate brauchen. Daher war damals (Zeitraum 2007) der Einsatz wir folgt:

  • Kunde hatte Notes mit „verschlüsselten“ Mails, die zur Migration „entschlüsselt“ wurden aber in Exchange wieder „etwas geschützt“ sein sollten
  • Daher haben wir in Notes die Mails per NotesScript entschlüsseln lassen und „markiert“ über den Betreff markiert
  • Nach der Migration haben wir per VBScript und das Outlook 2007 Objekt-Modell die markierten migrierten Mails wieder als „vertraulich“ getaggt.

Das klingt einfach aber heute gibt es mehrere Dinge, die den Einsatz nicht mehr sinnvoll erscheinen lassen.

  • EWS/Graph statt VBScript mit Outlook Automation ist "Old"
    Teilweise blockt Outlook den Zugriff und heute würde man dies per EWS oder in der Cloud per Graph machen.
  • Purview Information Protection statt "Hidden"
    Der Schutz durch das "Verborgen"-Flag ist kein echter Schutz und wird ehr nur durch Outlook/OWA beachtet. Besser wäre es, die relevanten Informationen wirklich zu schützen. Also könnte ein Skript mit Labels eine Klassifizierung vornehmen

Unterstützung durch Net at Work:
Ein solches VB-Script habe ich 2007 im Rahmen eines Kundenprojekts entwickelt und eingesetzt aber es ist heute nicht mehr lauffähig. Gerne helfen wir bei der Lösung ihrer individuellen Probleme.

Weitere Links