Evaluationssystem: Generierung der Zufalls-IDs

Vie­le Wege füh­ren nach Rom. Ich stel­le einen ein­fa­chen vor (Bul­ku­pload) und einen kom­ple­xe­ren (LDAP). Bei LDAP set­ze ich etwas mehr Kennt­nis­se auf der Kon­so­le voraus.

Bei bei­den Wegen muss man auf jeden Fall die Seri­en­brief­funk­ti­on einer Text­ver­ar­bei­tung beherr­schen, um die IDs dann in indi­vi­dua­li­sier­ter Form an die Umfra­ge­be­tei­lig­ten aus­ge­ben zu kön­nen. Natür­lich wird  auch gleich die Fan­ta­sie­email­adres­se deak­ti­viert (email­stop).

Die eigent­li­che Zufalls­rou­ti­ne sieht so aus:

func­tion getrandstr($length) {
$new­pass = „“;
$laenge=$length;
$string=„abcdefghikmnopqrstuvwxyz23456789“;
mt_srand((double)microtime()*1000000);
for ($i=1; $i <= $laen­ge; $i++) {
$new­pass .= substr($string, mt_rand(0,strlen($string)-1), 1);
}
return $new­pass;
}

Aus dem Zei­chen­vor­rat wur­de alle Zei­chen ent­fernt, die sich ver­wech­seln las­sen, etwa „1“ und „l“ (klei­nes L und die Zahl Eins) oder „0“ und „O“ (Null und Buch­sta­be O), damit es spä­ter nicht zu Tipp­feh­lern kommt.

Ich habe das Script für mich inzwi­schen so wei­ter­ent­wi­ckelt, dass es nicht nur die IDs selbst, son­dern auch noch via fpdf die Brie­fe für die Umfra­ge­be­tei­lig­ten als hüb­sches PDF erstellt – ein Klick, alles zum Drucken/Verteilen fer­tig. Da erfah­rungs­ge­mäß jede Schu­le ihr indi­vi­du­el­les Lay­out wünscht, erscheint mir der Weg über die Seri­en­brief­funk­ti­on für die All­ge­mein­heit der gang­bars­te zu sein.

Wir nut­zen für die Umfra­gen übri­gens ein sepa­ra­tes „Müll­mood­le“, des­sen Daten­bank uns nicht viel bedeu­tet und ger­ne „ver­saut“ wer­den darf. Neben­bei ent­fällt gleich das Risi­ko, dass Drit­te unge­wollt Zugriff auf die Ergeb­nis­se erhal­ten. Das Rech­te­sys­tem von Mood­le wird näm­lich ger­ne ein­mal unüberschaubar…

Wei­ter­le­sen

Evaluationssystem: Einrichtung und Konfiguration von openLDAP

openLDAP wird uns als Backend zum Able­gen von Zufalls-IDs und deren Ver­wal­tung die­nen. Die Instal­la­ti­on auf einem debian­ba­sier­ten Sys­tem ist denk­bar einfach.

Wer kei­nen eige­nen Ser­ver oder Vser­ver zur Ver­fü­gung hat, z.B. also „nur“ hos­tet, muss auf die Bul­ku­pload­al­ter­na­ti­ve aus­wei­chen und kann die­sen Teil überspringen!

Log­gen sie sich zunächst auf der Kon­so­le ihres Linux­sys­tems ein und ver­schaf­fen Sie sich Root­rech­te. Ein

apt-get install slapd

führt Sie zu fol­gen­der Dialog-Ausgabe:

Es wird ledig­lich ein Pass­wort für den Admi­nis­tra­tor ver­langt. Alle übri­gen Anga­ben ermit­telt der Instal­ler des Pake­tes aus Ihren Linux Sys­tem selbst – meist kei­ne glück­li­che Lösung. Wir wer­den des Paket also noch nach­träg­lich konfigurieren.

Wei­ter­le­sen

Schulische Evaluation mit Moodle, LDAP und dem Feedbackmodul

Die­ser Arti­kel wird etwas län­ger und daher mehr­tei­lig. Im Fol­gen­den wer­de ich zunächst beschrei­ben, war­um gera­de die­se Soft­ware­kom­po­nen­ten aus­ge­wählt wur­den, um anschlie­ßend Stück für Stück zu erklä­ren, wie die tech­ni­sche Rea­li­sie­rung erfolgte.

Pro­blem­stel­lung

Es galt ein Kon­zept für die Eva­lua­ti­on unter­schied­li­cher Grup­pen an einer Schu­le zu erstel­len. Dabei muss­ten fol­gen­de Kri­te­ri­en erfüllt werden:

  1. Trans­pa­rent zu ver­mit­teln­de Anonymisierung
  2. Geeig­net für SuS, LuL und Eltern, d.h. mög­lichst leich­te Bedienbarkeit
  3. Kei­ne Unkos­ten für Soft- oder Hardware
  4. Ver­tret­ba­rer tech­ni­scher Aufwand
  5. Größt­mög­li­che Frei­heit bei der Daten­aus­wer­tung (z.B. Nach­be­ar­bei­tung mit einer Tabellenkalkulation)
  6. Syn­er­gie­ef­fek­te

Wei­ter­le­sen

Spielkram – Kleinwindrad…

… man bas­telt ja ger­ne – anders kann man sei­ne mas­ku­li­nen Trie­be in die­ser Gesell­schaft ja kaum noch aus­le­ben, Ange­ben und Hau­en sind ja fast ver­bo­ten und Sport ist ja auch nicht jeder­mans Sache.

In der E‑Bucht gibt es hin und wie­der güns­ti­ge Chi­na­im­por­te von Klein­wind­rä­dern zu erstei­gern. Das von mir ergat­ter­te Modell klärt den hohen Stahl­ver­brauch die­ses Lan­des mehr als auf: Nabe und bean­spruch­te Tei­le sind alle­samt aus Guss gefer­tigt. Die Wel­le ist fett­ge­la­gert und per Schmier­nip­pel leicht wie­der abzu­drü­cken, falls sie doch ein­mal tro­cken läuft. In vol­ler Pracht sieht das Modell jetzt so aus:

Ansicht aus der Totale

Ansicht aus der Totale

Der Mast besteht aus zwei 3,5m lan­gen 2‑Zoll-Stahl­roh­ren, wie sie jeder grö­ße­re Instal­la­ti­ons­be­trieb auf Lager hat und zuschnei­det. Im Fun­da­ment sind zehn Säcke Beton ver­ar­bei­tet, in den Hal­te­run­gen für die Abspann­lei­nen jeweils zwei. Ver­zink­tes 6mm Stahl­seil zum Abspan­nen bie­tet eben­falls die E‑Bucht zu sen­sa­tio­nel­len Prei­sen an.

Wei­ter­le­sen

Asymmetrische Verschlüsselung mit SSH

Es gibt zwar zu die­sem The­ma vie­le Tuto­ri­als im Netz, jedoch konn­te ich mir bis­her kei­nes so rich­tig merken.

Was kann man damit eigent­lich anstellen?

Nor­ma­ler­wei­se log­ge ich mich in einen Ser­ver mit einem Benut­zer­na­men und einem Pass­wort ein. Der Ser­ver über­prüft dann, ob mein ein­ge­ge­be­ner Benut­zer­na­me zum auf dem Ser­ver gespei­cher­ten Pass­wort (meist ein Hash) passt und gewährt mir im posi­ti­ven Fall dann Zugriff. Das lässt sich eigent­lich ganz gut mit einem Zah­len­schloss an einem Fahr­rad ver­glei­chen: Nur wer die kor­rek­te Kom­bi­na­ti­on kennt, kann die­ses Schloss öff­nen. Bei einem Fahr­rad­schloss kann ich als böser Bube jedoch durch Aus­pro­bie­ren die kor­rek­te Kom­bi­na­ti­on her­aus­fin­den. Das ist ledig­lich eine Fra­ge der Zeit. Je ein­fa­cher mein Pass­wort auf­ge­baut ist (etwa „3333“, des­to wei­ni­ger Zeit wird der Angrei­fer benötigen.

Auf­grund die­ser Pro­ble­ma­tik wur­de im Ser­ver­be­reich die Authen­ti­fi­zie­rung via Schlüs­sel (Key) erfun­den. Das Ver­fah­ren ist eigent­lich sehr pfif­fig: Der Benut­zer gene­riert zunächst ein­mal zwei Schlüs­sel: Einen pri­va­ten und einen öffent­li­chen. Bei der Anmel­dung am Ser­ver geschieht nun folgendes:

Der Benut­zer sen­det sei­nen Benut­zer­na­men, der aber mit mit sei­nem pri­va­ten Schlüs­sel ver­schlüs­selt (unkennt­lich gemacht) ist. Der Ser­ver besitzt den öffent­li­chen Schlüs­sel und den Benut­zer­na­men des Benut­zers. Bei ihm kommt nun eine kryp­ti­sche Zei­chen­ket­te an, die er nur mit dem öffent­li­chen Schlüs­sel wie­der in den Benut­zer­na­men umwan­deln kann. Die öffent­li­che Schlüs­sel muss zu dem pri­va­ten Schlüs­sel pas­sen. Zudem taugt der öffent­li­che Schlüs­sel nur zur Ent­schlüs­se­lung, nicht jedoch zur Verschlüsselung.

Um ganz genau zu sein (Dan­ke Markus…):

Spe­zi­ell bei SSH ist es nun so, dass die asym­me­tri­sche Ver­schlüs­se­lung nach die­sem Ver­fah­ren nur ver­wen­det wird, um einen Schlüs­sel für eine per­for­man­te­re syn­chro­ne Ver­schlüs­se­lung aus­zu­han­deln. Nach dem Hand­shake machen Ser­ver und Cli­ent also „ihr eige­nes Ding“.

Vor­teil:

Nur wer im Besitz des pri­va­ten Schlüs­sels ist, kann sich am Ser­ver anmel­den. Das Aus­pro­bie­ren von Pass­wor­ten ist theo­re­tisch nicht denk­bar (man müss­te die Ver­schlüs­se­lung imi­tie­ren), aber prak­tisch immens schwie­rig und zeitaufwendig.

Ein Bild für die­ses Ver­fah­ren ist z.B. ein Fahr­rad­schloss mit Schlüs­sel. Der pri­va­te Schlüs­sel hängt am Schlüs­sel­bund des Benut­zers. Die Schloss­me­cha­nik selbst ist der öffent­li­che Schlüs­sel und weit auf­wen­di­ger zu imi­tie­ren als etwa eine Zah­len­kom­bi­na­ti­on herauszufinden.

Natür­lich kann man mit dem Ver­fah­ren nicht nur Benut­zer­na­men, son­dern alle mög­li­chen Tex­te ver­schlüs­seln. – z.B. auch E‑Mails. Den öffent­li­chen Schlüs­sel kann man gefahr­los wei­ter­ge­ben, sodass sich den jeder Emp­fän­ger her­un­ter­la­den kann.

Hier ein­mal ein ein­fa­ches Schaubild:

Wie funk­tio­niert das nun praktisch?

Wei­ter­le­sen

1 20 21 22 23 24