# Glossar technischer Begriffe ## MYP – Manage Your Printer Projekt --- ### A **API (Application Programming Interface)** Programmierschnittstelle, die es verschiedenen Softwarekomponenten ermöglicht, miteinander zu kommunizieren. Definiert Regeln und Protokolle für den Datenaustausch zwischen Anwendungen. **Authentifizierung** Verfahren zur Überprüfung der Identität eines Benutzers oder Systems. Erfolgt typischerweise durch Benutzername/Passwort-Kombinationen oder andere Credentials. **Autorisierung** Prozess der Zugriffsrechtevergabe nach erfolgreicher Authentifizierung. Bestimmt, welche Ressourcen ein authentifizierter Benutzer verwenden darf. --- ### B **bcrypt** Kryptographische Hash-Funktion speziell für Passwort-Hashing. Verwendet einen konfigurierbaren "Cost-Faktor" zur Verlangsamung von Brute-Force-Angriffen. **Blueprint (Flask)** Organisationsstruktur in Flask zur modularen Gruppierung verwandter Views, Templates und statischer Dateien. Ermöglicht strukturierte Anwendungsarchitektur. **Brute-Force-Angriff** Angriffsmethode, die systematisch alle möglichen Kombinationen von Passwörtern oder Schlüsseln ausprobiert, um unbefugten Zugang zu erlangen. --- ### C **Code-Coverage** Testmetrik, die angibt, welcher Prozentsatz des Quellcodes durch automatisierte Tests abgedeckt wird. 85% Coverage bedeutet, dass 85% des Codes getestet wurde. **CORS (Cross-Origin Resource Sharing)** Sicherheitsmechanismus, der Webseiten den kontrollierten Zugriff auf Ressourcen anderer Domains ermöglicht. Verhindert unerwünschte Cross-Site-Requests. **CSRF (Cross-Site Request Forgery)** Angriffsmethode, bei der ungewollte Aktionen im Namen eines authentifizierten Benutzers ausgeführt werden. Schutz erfolgt durch CSRF-Tokens. **Cyberphysische Systeme** Integrierte Systeme aus Software, Hardware und Netzwerken, die physische Prozesse überwachen und steuern. Verbinden digitale und physische Welt. --- ### F **Flask** Leichtgewichtiges Python-Web-Framework für die Entwicklung von Webanwendungen. Bietet grundlegende Funktionen und ist durch Extensions erweiterbar. **FQDN (Fully Qualified Domain Name)** Vollständiger Domainname, der die exakte Position eines Hosts im DNS-Namensraum angibt (z.B. server.beispiel.com). --- ### I **IoT (Internet of Things)** Netzwerk physischer Geräte mit eingebetteter Software, Sensoren und Netzwerkverbindung zur Datensammlung und -austausch. **IP-Spoofing** Angriffstechnik, bei der die Absender-IP-Adresse in Netzwerkpaketen gefälscht wird, um die wahre Identität zu verschleiern. --- ### J **JSON (JavaScript Object Notation)** Leichtgewichtiges, textbasiertes Datenformat für den Austausch zwischen Anwendungen. Verwendet schlüssel-wert-basierte Struktur. --- ### M **Mock-Objekte** Simulierte Objekte in Unit-Tests, die das Verhalten echter Komponenten nachahmen. Ermöglichen isolierte Tests ohne externe Abhängigkeiten. --- ### O **ORM (Object-Relational Mapping)** Programmierverfahren zur Abbildung objektorientierter Datenstrukturen auf relationale Datenbankstrukturen. SQLAlchemy ist ein Python-ORM. **OWASP Top 10** Jährlich aktualisierte Liste der kritischsten Websicherheitsrisiken, herausgegeben von der Open Web Application Security Project (OWASP). --- ### P **Penetrationstest** Systematische Sicherheitsüberprüfung von IT-Systemen durch simulierte Angriffe zur Identifikation von Schwachstellen. **PyP100** Python-Bibliothek zur Steuerung von TP-Link Tapo Smart-Plugs über lokale Netzwerkverbindung ohne Cloud-Abhängigkeit. **Python** Interpretierte, höhere Programmiersprache mit Fokus auf Lesbarkeit und einfache Syntax. Weit verbreitet für Web-Entwicklung und Automatisierung. --- ### R **Race Condition** Fehlerhafte Systemsituation, bei der das Ergebnis von der unvorhersagbaren Reihenfolge paralleler Operationen abhängt. **Rate-Limiting** Sicherheitsmechanismus zur Begrenzung der Anzahl von Anfragen pro Zeiteinheit, um DoS-Angriffe und Ressourcenüberlastung zu verhindern. **Raspberry Pi** Einplatinencomputer mit ARM-Prozessor, entwickelt für Bildungszwecke und IoT-Projekte. Läuft unter Linux-basierten Betriebssystemen. **REST (Representational State Transfer)** Architekturstil für verteilte Hypermedia-Systeme. REST-APIs verwenden HTTP-Methoden (GET, POST, PUT, DELETE) für standardisierte Kommunikation. **Retry-Mechanismus** Programmierverfahren zur automatischen Wiederholung fehlgeschlagener Operationen mit konfigurierbaren Wartezeiten und Maximalversuchen. --- ### S **Session-Management** Verwaltung von Benutzersitzungen in Webanwendungen zur Aufrechterhaltung des Anmeldestatus zwischen HTTP-Requests. **Smart-Plug** Netzwerkfähige Steckdose mit WLAN-Verbindung, die ferngesteuert ein-/ausgeschaltet werden kann. Oft mit Energiemessungs-Features. **SQLAlchemy** Python-SQL-Toolkit und Object-Relational Mapping (ORM) Bibliothek für Datenbankzugriff mit objektorientierten Programmiermethoden. **SQLite** Serverlose, dateibasierte SQL-Datenbank-Engine. Ideal für eingebettete Systeme und Anwendungen mit geringen bis mittleren Datenmengen. **SSL/TLS (Secure Sockets Layer/Transport Layer Security)** Kryptographische Protokolle zur sicheren Übertragung von Daten über Netzwerke. TLS ist der Nachfolger von SSL. **systemd** System- und Service-Manager für Linux-Betriebssysteme. Verwaltet Systemdienste, Bootvorgang und Ressourcen. --- ### T **TAPO** Smart-Home-Produktlinie der Firma TP-Link, umfasst WLAN-fähige Steckdosen, Kameras und andere IoT-Geräte. **Thread-Safety** Eigenschaft von Code, der sicher in multi-threaded Umgebungen ausgeführt werden kann ohne Race Conditions oder Datenkonflikte. **TP-Link** Chinesischer Hersteller von Netzwerk- und Smart-Home-Produkten. Bekannt für Router, Switches und IoT-Geräte. --- ### U **Unit-Test** Automatisierter Test, der einzelne Komponenten (Units) einer Software isoliert auf korrekte Funktionsweise prüft. --- ### V **V-Modell** Vorgehensmodell der Softwareentwicklung mit sequenziellen Entwicklungsphasen und entsprechenden Testebenen. Jeder Entwicklungsphase ist eine Testphase zugeordnet. **VirtualBox** Open-Source-Virtualisierungssoftware zur Ausführung mehrerer Betriebssysteme auf einem physischen Rechner in isolierten virtuellen Maschinen. **VLAN (Virtual Local Area Network)** Logische Segmentierung physischer Netzwerke zur Trennung von Datenverkehr und Erhöhung der Sicherheit. --- ### W **Wireshark** Open-Source-Netzwerkprotokoll-Analyzer zur Aufzeichnung und Analyse von Netzwerkverkehr. Ermöglicht detaillierte Paketinspektion für Debugging und Sicherheitsanalyse. **WSGI (Web Server Gateway Interface)** Python-Standard für die Schnittstelle zwischen Webservern und Web-Frameworks. Gunicorn ist ein WSGI-Server. --- ### Z **Zenmap** Grafische Benutzeroberfläche für Nmap (Network Mapper). Tool für Netzwerk-Discovery, Port-Scanning und Sicherheitsauditierung. --- ## Abkürzungsverzeichnis | Abkürzung | Bedeutung | |-----------|-----------| | **API** | Application Programming Interface | | **CORS** | Cross-Origin Resource Sharing | | **CSRF** | Cross-Site Request Forgery | | **FQDN** | Fully Qualified Domain Name | | **HTTP** | Hypertext Transfer Protocol | | **HTTPS** | HTTP Secure | | **IoT** | Internet of Things | | **JSON** | JavaScript Object Notation | | **ORM** | Object-Relational Mapping | | **REST** | Representational State Transfer | | **SSL** | Secure Sockets Layer | | **TLS** | Transport Layer Security | | **VLAN** | Virtual Local Area Network | | **WSGI** | Web Server Gateway Interface | --- *Glossar erstellt für: IHK-Projektdokumentation "MYP – Manage Your Printer"* *Stand: Januar 2025*