V2 Credential Provider Wrapper

Veröffentlicht am von

Aufgabenstellung

Die Benutzerdaten bei einer Windows Anmeldung sollen vor der Anmeldung geprüft werden, um mit einem verbesserten Verfahren die Sicherheit zu erhöhen. Hierzu ist ein Credential Provider Wrapper gefordert, der sich in das Windows Anmeldeverfahren einfügt.

Umsetzung des Credential Provider

Die Benutzeranmeldung im Windows erfolgt mit einem „Credential Provider“. Für diese Provider gibt es verschiedene Implementierungen, z.B. Benutzer und Passwort Eingabe oder Smartcards mit Zertifikaten.

In unserem Projekt wurde der Microsoft Passwort Provider „gewrappt“. Technisch ist unser Credential Provider sichtbar und der Microsoft Provider wird rausgefiltert. Der Benutzer merkt nichts davon, da alle Aktionen vom Microsoft Passwort Provider direkt durchgelassen werden.

Nach dem Aktivieren des Anmeldeprozesses werden wir aktiv, prüfen und modifizieren das Anmeldeverfahren. Ist alles okay, so merkt der Benutzer nichts von uns. Tritt eine zu behandelnde Situation ein, so werden wir aktiv und informieren den Benutzer.

Plattformen

Getestet wurde das Projekt mit Windows 7, 8.1, 10, Server 2008 R2.

Die Entwicklung erfolgte mit Microsoft Visual Studio 2015 und C++.

Evaluation: OpenMP, OpenCL, CUDA, Microsoft AMP

Veröffentlicht am von

High Performance Projekt zur statistischen Auswertung

Es wurden OpenCL, OpenMP, CUDA und AMP als Technologien und Programmierumgebung für ein „High Performance Projekt zur statistischen Auswertung“ untersucht.

Anforderung

Für das aktuelle Projekt werden statistische Auswertungen über Zahlenreihen unter Ausnutzung der Prozessorkerne und GPUs durchgeführt.

Für die Implementierung der Logik ist bereits die Entscheidung zu Gunsten der Intel Threading Building Blocks TBB gefallen.

Für die Programmierung der GPUs sollte in kleinen Tests Erfahrung gesammelt werden und eine Entscheidung für die Programmierung getroffen werden.

Kandidaten

Für die Programmierung habe ich OpenMP®, OpenCL der Khronos Group, CUDA von Nvidia und AMP von Microsoft angesehen bzw. in kleinen Beispielen getestet.

Die Entscheidung ist für OpenCL gefallen.

  • Unabhängigkeit der verwendeten Hardware (gegenüber CUDA und AMP)
  • Unabhängigkeit der verwendeten  Betriebssysteme
  • Unabhängigkeit der verwendeten Compiler
  • Besser zu steuern gegenüber OpenMP
  • Microsoft unterstützt nur OpenMP 2.0 zur Zeit und ich musste im Testcode wieder #ifdefs verwenden
  • AMP habe ich nur angelesen aber nicht getestet.

Verwendete Bibliothek

Nach einer kurzen Testphase verwende ich den „OpenCL C++ Wrapper“ der Khronos Group. Das Projekt Boost.Compute (kein Boost Projekt) habe ich mir ebenfalls angesehen und es ist als Kandidat noch im Rennen.

Testumgebung

Getestet wurde auf Mac Pro unter OSX mit CLion und CLang.

Vergleichswerte im Micro Benchmark

Vergleichswerte mit unterschiedlichen Implementierungen des „Micro Benchmark“ stelle ich vor, wenn die Implementierungen stabil sind.

Kategorie: C++, Softwareentwicklung | Tags: , , , ,

Verwendete Entwicklungswerkzeuge im Jahr 2016

Veröffentlicht am von

Hier eine Liste der aktuellen Entwicklungswerkzeuge, Produkte und Bibliotheken, die wir für unsere Softwareentwicklung unter Windows und OSX verwenden.

Neue Entwicklungswerkzeuge im Jahr 2016:

Bereits im Jahr 2015 verwendet

  • Aus Interesse ein wenig ADA mit GNAT und SPARK
  • Wechsel von C++ 98 zu C++ 11/14
  • C/C++ seit 1981
  • C# etwas für kleine Projekte
  • Microsoft Visual Studio 2010-2015
  • JetBrains YouTrack
  • JetBrains Resharper
  • CMake
  • Visual Lint
  • CppDepend
  • Visual Assist
  • Subversion
  • Git
  • RC WinTrans
  • InstallAware
  • VMware Desktop
  • Parallels Desktop
  • Windows 7 bis Windows 10, Windows Server 2012
  • OSX
  • SQLite
  • Boost
  • PKCS#11
  • CryptoPP (https://www.cryptopp.com)
  • OpenSSL

 

Projekt: Aufbau einer C++ Buildumgebung

Veröffentlicht am von

Für ein neues C++ Projekt soll eine neue Buildumgebung geschaffen werden, welche eine Entwicklung auf OSX und Windows ermöglicht.

Das C++ Projekt startet im Februar 2016. Die Buildumgebung soll daher Anfang Februar funktional sein.

  • Die Entwicklung erfolgt gleichzeitig für Windows mit Microsoft Visual Studio und auf OSX mit JetBrains CLion.
  • Eingesetzt wird GIT für die Source Verwaltung, vermutlich mit Gitolite für die Verwaltung der Zugriffsrechte.
  • Projektmanagement und Bugtracking erfolgt mit YouTrack von JetBrains.
  • Als Continuous Integration Server wird TeamCity von JetBrains eingesetzt.
  • Testweise wird auch Upsource von JetBrains als CodeReview Tool getestet.
  • GIT, YouTrack, TeamCity und UpSource werden auf einem Debian Server laufen.
  • Die Entscheidung für die Datenhaltung ist noch ungeklärt. Es stehen SQL Datenbank, SQLite und XML zur Diskussion.

JetBrains CLion für OSX im Einsatz

Veröffentlicht am von

Seit heute ist die Entwicklungsumgebung CLion von JetBrains im Einsatz für die C++ Softwareentwicklung unter OSX.

Kerberos – Single Sign-on in gemischten Umgebungen

Veröffentlicht am von

Heute gekommen 🙂

  • Autor: Mark Pröhl
  • Verlag: dpunkt
  • Erscheinungsjahr: 2011
  • Originaltitel: Kerberos – Single Sign-on in gemischten Linux / Windows Umgebungen
Kategorie: Fachliteratur | Tags:

Kryptografie

Veröffentlicht am von

Beruflich gelesen. Sehr gut die Verfahren dargestellt.

  • Verfahren, Protokolle, Infrastrukturen
  • Autor: Klaus Schmeh
  • Verlag: dpunkt
  • Erscheinungsjahr: 2013
Kategorie: Fachliteratur | Tags: ,

Verwendete Entwicklungswerkzeuge im Jahr 2015

Veröffentlicht am von
  • Aus Interesse ein wenig ADA mit GNAT und SPARK
  • C/C++ seit 1981
  • C# etwas für kleine Projekte
  • Microsoft Visual Studio 2013
  • JetBrains YouTrack
  • JetBrains Resharper
  • CMake
  • Visual Lint
  • CppDepend
  • Visual Assist
  • Subversion
  • RC WinTrans
  • InstallAware
  • VMware Desktop
  • Parallels Desktop
  • Windows 7 bis Windows 10, Windows Server 2012
  • OSX
  • SQLite

Praxishandbuch BPMN 2.0

Veröffentlicht am von

Ich habe das „Praxishandbuch BPMN 2.0“ beruflich gelesen. Es ist ein  guter Einstieg, der Praxistest folgt jetzt in 2016.

  • Autor: Jakob Freund und Bernd Rücker
  • Verlag: Hanser
  • Erscheinungsjahr: 2014
Kategorie: Fachliteratur | Tags:

Clean Coder: Verhaltensregeln für professionelle Programmierer

Veröffentlicht am von

Beruflich gelesen

  • Autor: Robert C. Martin
  •  Verlag: mitp Professional
Kategorie: Fachliteratur | Tags: