Pflichtfach Informatik? Ein Streitgespräch.

Informatikunterricht? Muss das sein..!?

Immer wie­der tobt eine Debat­te über ver­pflich­ten­den Infor­ma­tik­un­ter­richt – Rea­li­tät ist er aber nur in drei Bun­des­län­dern. Ver­passt Deutsch­land beim Com­pu­ter­un­ter­richt eine gro­ße Chan­ce? Was ist eigent­lich zeit­ge­mä­ßer Infor­ma­tik­un­ter­richt und… braucht man Pro­gram­mie­ren wirk­lich? Maik Riecken und Jan-Mar­tin Klin­ge strei­ten.

Klin­ge: Maik, du schreibst auf dei­nem Blog, dass du die Fächer Deutsch und Che­mie an einem Gym­na­si­um in Nie­der­sa­chen unter­rich­test. Was hast du mit Infor­ma­tik zu tun?

Riecken: Nichts For­ma­les, d.h. ich habe weder eine Fakul­tas dafür oder noch irgend­ei­nen „offi­zi­el­len“ Kurs auf der Uni dazu besucht. Mit 14 Jah­ren habe ich mei­nen ers­ten Com­pu­ter bekom­men – einen Amiga500. Dar­auf habe ich eigent­lich fast nur gedad­delt, aber auch ers­te Geh­ver­su­che mit Ami­ga­Ba­sic gemacht. Das war schon was, weil man sogar eine GUI mit Maus hat­te und mit Ami­ga­Ba­sic pro­gram­mie­ren konn­te. Spä­ter habe ich dann sogar Din­ge in Assem­bler ver­sucht – ange­regt durch die damals schon sehr akti­ve „Demo­sze­ne“ und die Begrenzt­heit der Hard­ware – aller­dings habe ich es nie geschafft, mei­nem Kum­pel das ver­spro­che­ne Intro zu pro­gram­mie­ren – das ist heu­te noch so ein geflü­gel­ter Spruch zwi­schen uns: „Maik, wo bleibt mein Intro?“ In Kiel gab es spä­ter zu PC-Zei­ten dann eine Keim­zel­le der deut­schen Linux­sze­ne mit einem monat­li­chen Stamm­tisch – von da an ging es ab mit Ser­ver­diens­ten, Shell­script, MyS­QL usw.

Klin­ge: Assem­bler? Shell­script..?! Ich ver­ste­he nur die Hälf­te. Aber der spie­le­ri­sche Aspekt ist mir geläu­fig: Mit mei­nen Freun­den haben wir in den 90ern Com­pu­ter­spie­le mit­tels HEX-Edi­tor zer­legt und ver­än­dert. Wir sahen den Matrix-Code schon lan­ge vor dem Film – aber das war alles Frei­zeit und Spiel. Ist Infor­ma­tik an dei­ner Schu­le ein Pflicht­fach?

Riecken: Nein. Schü­le­rin­nen und Schü­ler kön­nen das Fach in der Klas­se 10 bele­gen, wenn sie in der 11. Klas­se eine Natur­wis­sen­schaft durch Infor­ma­tik erset­zen wol­len. Dann müs­sen sie dort min­des­tens ein hal­bes Jahr „durch­hal­ten“. In Nie­der­sach­sen kann jeder Leh­rer bis zur Jahr­gangs­stu­fe zehn qua Amt alles unter­rich­ten – ich z.B. Infor­ma­tik. Da schließt sich dann der Kreis.

Klin­ge: Nun, dann sehe ich mich in der Posi­ti­on vie­ler Eltern oder auch fach­frem­der Kol­le­gen: Wenn ich an mei­nen eige­nen Infor­ma­tik­un­ter­richt den­ke, erin­ne­re ich mich an dunk­le Com­pu­ter­räu­me und ers­te Pro­gram­mier­ver­su­che in qba­sic. Mal ehr­lich – nichts, was ich da gelernt habe, hat mir je gehol­fen. Das war Zeit tot­schla­gen. Für mich ist Infor­ma­tik­un­ter­richt über­flüs­sig.

Riecken: Bei mir war es tech­no­lo­gisch noch stein­zeit­li­cher. Ich habe auf einem Apple II gelernt – mit Bern­stein­mo­ni­tor. Ich mei­ne, das war Pas­cal oder auch ein Basi­cdia­lekt. Es war aber eine unglaub­li­che Fas­zi­na­ti­on zu spü­ren – und ein Pio­nier­geist. Text­ad­ven­tures selbst gestal­ten, Nadel­dru­cker ansteu­ern, Flop­py­disks orga­ni­sie­ren (die Flop­py ist heu­te immer noch das Sym­bol zum Spei­chern in den meis­ten Anwen­dun­gen).

Klin­ge: Schaue ich mir mei­ne zwei­jäh­ri­ge Toch­ter an, dann kann sie auf dem Tablet die Dis­play­sper­re über­win­den, ver­schie­de­ne Apps star­ten und in ihrem Lieb­lings­spiel, Dora Explo­rer, Puz­zle lösen, malen und mit den Figu­ren inter­agie­ren. Ich habe in dem Alter Sand geges­sen. Oder Erde. An guten Tagen bei­des.
Ich will damit sagen, dass Kin­der heu­te von früh auf mit Tech­no­lo­gie umzu­ge­hen ler­nen – wozu braucht es da Infor­ma­tik­un­ter­richt?

Riecken: Dann erschließt sich dei­ne Toch­ter ihre Welt in die­sem Bereich medi­al ver­mit­telt. Sie lernt Inter­faces zu bedie­nen, aber eigent­lich nichts über Tech­nik dabei. Da zudem auf Wisch­ge­rä­ten vie­les leicht ist – selbst krea­tiv sein kann man da „ganz ein­fach“ (im Rah­men des­sen, was der jewei­li­ge Pro­gram­mie­rer unter Krea­ti­vi­tät ver­steht), kann die hap­ti­sche Aus­ein­an­der­set­zung mit der Welt dage­gen ger­ne schon­mal als mühe­voll erlebt wer­den. Es hängt sehr stark vom Eltern­haus ab, ob die Wisch­ge­rä­te als „Shut-up-Toy“ ein­ge­setzt wer­den, oder ob ein Aus­gleich geschaf­fen wird und Kin­der auch erle­ben dür­fen, dass sie anders­wo schei­tern und immer neue Stra­te­gi­en ent­wi­ckeln müs­sen. Kin­der erfah­ren die Welt mit ihren Sin­nen. Gerä­te spre­chen immer nur einen Aus­schnitt der Sin­ne an.

Klin­ge: Nun, mei­ne Infor­ma­tik­erfah­run­gen sind offen­sicht­lich anti­quiert – was beinhal­tet das Fach heut­zu­ta­ge?

Riecken: Ich sage immer, dass Infor­ma­tik das ein­zi­ge Fach ist, bei denen ich Schü­le­rin­nen und Schü­ler beim Den­ken bzw. Ihren Denk­schrit­ten zuschau­en kann. Eigent­lich geht es im Kern oft dar­um, ein Pro­blem in hand­hab­ba­re Teil­pro­ble­me zu zer­le­gen. Ich habe in die­sem Jahr mit mei­nen Schü­lern (sor­ry, war ein rei­ner Jun­gen­kurs) viel zum The­ma Pass­wort­ver­schlüs­se­lung gemacht. Auf­hän­ger waren die unzäh­li­gen gestoh­le­nen Pass­wort­da­ten­ban­ken im letz­ten Jahr (Yahoo, Lin­kedIn etc.). Die Schü­ler wis­sen jetzt z.B. war­um ein Pass­wort eine gewis­se Län­ge und Kom­ple­xi­tät haben soll­te und dass eine siche­re Pass­wort­spei­che­rung unmög­lich ist, son­dern allen­falls eine, die Angrif­fen eine zeit­lang stand­hält. Dann kann man noch dar­über sin­nie­ren, war­um selbst gro­ße Inter­net­fir­men die Grund­re­geln bei der Pass­wort­spei­che­rung nicht befol­gen usw. – und schon ist man ganz schnell bei betriebs­wirt­schaft­li­chen oder gar ethi­schen Fra­gen. Rei­ne Medi­en­kom­pe­tenz­ver­mitt­lung ohne infor­ma­ti­schen Hin­ter­grund ist in die­sem Feld eine rei­ne Black­box: „Mach dein Pass­wort lang und kom­plex!“ „Häh? War­um? Unbe­quem. Gibt doch ’ne App!“

Klin­ge: Umge­kehrt begeg­nen mir in der Schu­le oft Jugend­li­che, die mit 13 Jah­ren noch den Ein- und Aus­schal­ter am Com­pu­ter suchen und über­haupt kei­ne Erfah­rung mit einem sta­tio­nä­ren Com­pu­ter haben. Die­sen Kin­dern fehlt jede Grund­la­ge – ihnen Pro­gram­mie­ren bei­zu­brin­gen scheint her­aus­for­dernd – die müs­sen doch eher ler­nen, mit Office Pro­gram­men umzu­ge­hen. Die bräuch­ten eher einen Schreib­ma­schi­nen-Kurs. Wie begeg­nest du die­sem Spa­gat?

Riecken: Da gibt es heu­te ganz tol­le Ansät­ze – das Pro­blem haben wir ja nicht nur in Deutsch­land. „Unplug­ged“ begin­nen, über Kli­ckibun­ti (z.B. auf code.org) Grund­kon­zep­te erler­nen und dann erst­mal qua­si per „Online-App“ ers­te For­ma­li­sie­run­gen machen. Dafür braucht es anfangs nur einen Brow­ser und die Datei­en fin­den sich auch immer wie­der an, da die App alles erle­digt. Dann Schritt für Schritt Rich­tung Datei­sys­tem und Selbst­or­ga­ni­sa­ti­on gehen, bevor man dann kom­ple­xe­re Din­ge anfasst – meist aber eher sowas wie die Steue­rung von Model­len oder Robo­tern – dann sieht man auch einen Effekt sei­ner Code­zei­len. Im Zusam­men­spiel von Mecha­nik und Soft­ware braucht man dann Feh­ler­suchstra­te­gi­en, die bei man­chen Pro­gram­mier­an­sät­zen bes­ser als bei ande­ren grei­fen. So ent­ste­hen nach und nach sehr viel­fäl­ti­ge Anfor­de­rungs- und Arbeits­sze­na­ri­en.
Die Idee, dass Infor­ma­tik etwas mit Tech­no­lo­gie zu tun hat, hal­te ich für falsch. Es gibt genug Bei­spie­le dafür, dass Infor­ma­tik­un­ter­richt voll­kom­men ohne Tech­no­lo­gie („unplug­ged“) funk­tio­nie­ren kann, etwa wenn ich die Lern­grup­pe Ide­en ent­wi­ckeln las­se, mit wel­chen Stra­te­gi­en Men­schen z.B. nach der Grö­ße sor­tiert wer­den kön­nen. „Pro­gram­mie­ren“ heißt dann schlicht „nur“, die­se Stra­te­gie zu for­ma­li­sie­ren – ein­fach in ganz nor­ma­ler Spra­che, spä­ter in for­ma­li­sier­ter – das hilft sogar spä­ter beim Deutsch­auf­satz. Aber im Kern geht es gar nicht dar­um, son­dern um die Kon­zep­te, die z.B. einen Taschen­rech­ner funk­tio­nie­ren las­sen.

Klin­ge: Nun, das klingt sicher für den ein oder ande­ren span­nend – aber letzt­lich haben doch wenig Schü­ler ein Inter­es­se dar­an, eine wei­te­re Fremd­spra­che zu ler­nen: Ob das jetzt fran­zö­sisch ist oder Java oder die Grund­la­gen von Pro­gram­men. Als Leh­rer lei­de ich jetzt schon unter dem vol­len Plan und der weni­gen Zeit. Ein wei­te­res Fach… Die Kin­der haben doch kei­ne Zeit mehr Kin­der zu sein.

Riecken: Infor­ma­tik ist kei­ne Spra­che. Infor­ma­tik ist nicht Pro­gram­mie­ren! Wenn wir den Bogen da kon­se­quent wei­ter span­nen: Was ist denn mit Fächern wie Mathe, Che­mie, Latein? Las­sen wir uns als Gesell­schaft davon lei­ten, ob aus­rei­chend vie­le Schü­le­rin­nen und Schü­ler Inter­es­se dafür auf­brin­gen (wol­len) oder ob Lehr­kräf­te dar­un­ter lei­den? Gera­de Latein – die­ses tote Ding? Ich glau­be, dass sehr vie­le Schü­le­rin­nen und Schü­ler unter die­sen Fächern durch­aus lei­den. Trotz­dem dis­ku­tie­ren wir nicht über deren Abschaf­fung, oder ob die­se Fächer frei gewählt wer­den dür­fen. Wenn es damals nach mir gegan­gen wäre, hät­te ich Eng­lisch sofort abge­wählt. Heu­te ist die­se Spra­che für mich unglaub­lich wich­tig gewor­den. Latein hin­ge­gen hat für mich nur eine sehr gerin­ge Bedeu­tung. Ich weiß, dass man mir unter­stel­len wird, mich für einen Kanon ein­zu­set­zen, das neue Ler­nen nicht ver­stan­den zu haben. Wenn ich heu­te in die Welt schaue, sehe ich kaum Beru­fe, die ohne digi­ta­le Kom­pe­ten­zen sinn­voll län­ge­re Zeit aus­zu­üben sind. Ich sehe wei­ter­ge­hend digi­ta­li­sier­te Zah­lungs­vor­gän­ge, weit­ge­hend digi­ta­li­sier­te Ver­wal­tungs­pro­zes­se – auch in Deutsch­land – allen Unken­ru­fen zum Trotz. Ich lese Aus­sa­gen von schlau­en Leu­ten in schlau­en Feuil­le­tons und den­ke oft genug: „Was für ein Depp!“ – auf Anwen­der­ebe­ne mag man wohl auf einen recht ober­fläch­li­chen Niveau Din­ge kom­men­tie­ren und wer­ten kön­nen – eine Ahnung von den tech­ni­schen Mög­lich­kei­ten ist oft nicht ein­mal in Sicht ohne Grund­la­gen der Daten­ver­ar­bei­tung zu ken­nen.

Klin­ge: Hast du ein kon­kre­tes Bei­spiel?

Riecken: Das smar­te Haus ist ein Para­de­bei­spiel für mich. Ein Haus ist ja etwas, in dem man län­ger lebt. Es gibt zur­zeit unzäh­li­ge Gad­gets und Spiel­zeu­ge, um das Leben in Eigen­heim beque­mer zu machen: Elek­tro­ni­sche Schließ­sys­te­me, Hei­zungs­re­ge­lun­gen, Beleuch­tungs­ar­ti­kel, schalt­ba­re Steck­do­sen, Alarm­an­la­gen etc.. Das Wenigs­te ist zuein­an­der kom­pa­ti­bel (oder man benö­tigt spe­zi­el­le Zwi­schen­ge­rä­te, die doch wie­der eine Men­ge Wis­sen erfor­dern) und kaum eine Lösung ist so lang­le­big, dass Updates der Firm­ware auch über län­ge­re Zeit gewähr­leis­tet wären. Damit ist das Haus oft in kür­zes­ter Zeit ohne Zutun des Besit­zers mani­pu­lier­bar. Die Alter­na­ti­ve ist, sich immer wie­der neue Gad­gets mit den immer wie­der glei­chen Pro­ble­men zu kau­fen oder von Anfang an auf Sys­te­me zu set­zen, die auf dem ers­ten Blick viel mehr kos­ten, auf lan­ge Sicht jedoch sowohl soft­ware­tech­nisch als auch kon­zep­tio­nell und von Zusam­men­spiel der Kom­po­nen­ten her über­zeu­gen. Mit infor­ma­ti­scher Bil­dung wüss­te man in Grund­zü­gen, wie ein Pro­dukt, wel­ches mög­lichst lan­ge ein­ge­setzt wer­den soll, prin­zi­pi­ell desi­gned sein soll­te (bei Hand­werks­zeug und Mes­sern weiß man das ja im Prin­zip auch). Und man wüss­te, was „kos­ten­ef­fek­tiv“ ist und was inner­halb weni­ger Mona­te auf irgend­ei­ner Müll­hal­de in Afri­ka lan­den wird – weil z.B. die zuge­hö­ri­ge App für das neue Smart­pho­ne nicht mehr ent­wi­ckelt wird.

Klin­ge: Ich muss geste­hen: Das kann ich kom­plett nach­voll­zie­hen.

Riecken: Und, klar kann ich die Welt ein­fach so benut­zen – auch ohne Bio­lo­gie, ohne Che­mie oder Phy­sik und Mathe. Aber irgend­was fehlt dann viel­leicht. Und ein recht neu­er Teil von Welt scheint mir dann doch der digi­ta­le Raum zu sein. Infor­ma­tik ist die Grund­la­gen­wis­sen­schaft die­ses Rau­mes. Kom­men nicht vie­le poli­ti­sche Regu­lie­rungs­lü­cken auch durch Unwis­sen und sehr leich­te Beein­fluss­bar­keit der Ver­ant­wort­li­chen?

Klin­ge: Auch das kann ich nach­voll­zie­hen. Umge­kehrt drängt die Wirt­schaft dar­auf, ein gleich­na­mi­ges Fach ver­pflich­tend über­all ein­zu­bin­den. SoWi, Erd­kun­de.. es gibt einen gewal­ti­gen Fun­dus an Din­gen, die wir unse­re Kin­der ger­ne leh­ren möch­ten. Wo soll man da beschnei­den?

Riecken: Wie haben wir als Gesell­schaft eigent­lich „ent­schie­den“, was wir in Deutsch oder Geschich­te „leh­ren“? Auch dar­über lässt sich treff­lich strei­ten. In der Tat ist es ein immenses Pro­blem, wenn die Wirt­schaft Inhal­te infor­ma­ti­scher Bil­dung bestimmt. Im Fal­le von Infor­ma­tik hat die­ses „Drän­gen der Wirt­schaft“ des­we­gen einen Geschmack, weil wir Ein­fluss­nah­me ver­mu­ten und gleich­zei­tig oft­mals kei­ne Ide­en haben, was denn da gelehrt wer­den soll – denn das wür­de infor­ma­ti­sche Kom­pe­ten­zen eben­so erfor­dern wie medi­en­ethi­sche Fra­ge­stel­lun­gen – Phy­sik­un­ter­richt über Atom­ener­gie dürf­te in den 70ern anders aus­ge­se­hen haben als heu­te. Der che­mi­schen Indus­trie wer­fen wir das Fach Che­mie auch nicht vor, eben weil es da Stra­te­gi­en gibt, lob­by­is­ti­sche Ten­den­zen mehr oder weni­ger effek­tiv zu kom­pen­sie­ren. Mit rei­nem Anwen­der­wis­sen wird das im Bereich Infor­ma­tik eher weni­ger gut klap­pen. Ich hal­te es da mit Gün­ter Dueck: „Man muss nicht über­le­gen, was man für Infor­ma­tik denn weg­strei­chen soll­te – das muss man eben auch noch machen!“ Weil die Welt sich eben dahin­ge­hend ändert, dass sie kom­ple­xer und digi­ta­ler wird.

Klin­ge: Ganz kon­kret: Fin­dest du, alle Schü­ler soll­ten grund­sätz­lich Infor­ma­tik­un­ter­richt erhal­ten?

Riecken: Ja.

Klin­ge: War­um?

Riecken: Weil zukünf­tig Din­ge wie Teil­ha­be, Sou­ve­rä­ni­tät und neu­tra­le Infor­ma­ti­ons­be­schaf­fung immer mehr von infor­ma­ti­schen Kom­pe­ten­zen abhän­gig sein wer­den. Ich hät­te aber auch kein Pro­blem damit, wenn das nicht so kommt. Dann wechs­le ich halt die Sei­ten und ver­die­ne ganz viel Geld mit der infor­ma­ti­schen Unmün­dig­keit gro­ßer Tei­le der Gesell­schaft. Ange­sichts der Ent­wick­lung der Alters­vor­sor­ge auch kei­ne schlech­te Per­spek­ti­ve :o)…

Klin­ge: Nun, zumin­dest mein Bild von Infor­ma­tik­un­ter­richt ist nun nicht mehr so anti­quiert wie vor­her! Mir fällt nichts kri­ti­sches mehr ein, aber viel­leicht mag der ein oder ande­re Leser sich in den Kom­men­ta­ren noch dazu äußern – ich dan­ke dir erst­mal für die­ses Gespräch!

Medienbildung und Informatik

Fol­gen­de Auf­ga­ben haben Pro­gram­mier­an­fän­ger von mir nach ca. vier Ein­hei­ten Python bekom­men. Das Bei­spiel zeigt – fin­de ich – ganz gut, dass Medi­en­kom­pe­tenz und Infor­ma­tik sich sehr gut ergän­zen kön­nen, teil­wei­se viel­leicht sogar ein­an­der bedin­gen. Das Pro­blem der Pass­wort­län­ge und dem Pass­wort­auf­bau wird hier bewusst nicht ange­spro­chen, weil das pro­gram­mier­tech­nisch etwas anspruchs­vol­ler ist. Das kommt dann in der Fol­ge­stun­de.
Wei­ter­hin ist natür­lich auch das sha-2-Ver­schlüs­se­lungs­ver­fah­ren moder­ne­ren Ent­wick­lun­gen wie z.B. pbkdf2 weit unter­le­gen, aber auch pro­gram­mier­tech­nisch wesent­lich beherrsch­ba­rer. sha512 ist schon ganz ok, auch wenn heu­ti­ge Gra­fik­kar­ten ca. 200 Mil­lio­nen Schlüs­sel pro Sekun­de berech­nen.

Kryptografie

Immer wie­der hörst du davon, dass bei gro­ßen Anbie­tern Daten­bank­in­hal­te gestoh­len wer­den. In dem Arti­kel steht aller­dings nichts davon, dass Pass­wör­ter gestoh­len wer­den, son­dern Hash­es. Heu­te wirst du ler­nen, dass du jetzt schon ganz ein­fach viel bes­ser sein kannst als Lin­kedIn und das mit nur ganz weni­gen Code­zei­len in Python.

Um alles mög­lichst gut zu ver­ste­hen, musst du auf jeden Fall die bei­den oben ver­link­ten Arti­kel lesen oder wenigs­tens über­flie­gen.

Aufgabe 1:

Nimm eines dei­ner Pass­wör­ter und las­se fol­gen­des Pro­gramm lau­fen (z.B. auf https://try.jupyter.org ).

1
2
3
4
5
6
7
# wir weisen Python an, Kryptografiefunktionen zu laden
import hashlib
# wir fragen nach einem Passwort
crypted_phrase = input()
# Und geben den Hash des Passworts als MD5-Hash aus
print("Hash is:")
print(hashlib.md5(crypted_phrase.encode('utf-8')).hexdigest())

Nimm jetzt den Hash und kopie­re ihn auf die­se Sei­te. Nach Ein­ga­be der Sicher­heits­ab­fra­ge (reCap­t­cha) kannst du schau­en, ob der Hash dei­nes Pass­worts bereits bekannt ist (Wenn du das Ver­fah­ren mit dem Pass­wort „12345678“ durch­führst, wirst du sehen, dass das „geknackt“ wird.

Wie­der­ho­le das Ver­fah­ren mit einem dei­ner Pass­wör­ter und fol­gen­dem Pro­gramm (mit „12345678“ klappt es! – auch mit dei­nem Pass­wort?):

1
2
3
4
5
6
7
# wir weisen Python an, Kryptografiefunktionen zu laden
import hashlib
# wir fragen nach einem Passwort
crypted_phrase = input()
# Und geben den Hash des Passworts als MD5-Hash aus
print("Hash is:")
print(hashlib.sha512(crypted_phrase.encode('utf-8')).hexdigest())

Wenn dein Pass­wort auch im zwei­ten Fall „geknackt“ wur­de, hast du ein Pro­blem, wenn du Opfer eines Daten­bank­dieb­stahls wirst. Auch dein Anbie­ter wird nur Hash­es in einer Daten­bank spei­chern.

Infor­mie­re dich jetzt über den Unter­schied zwi­schen dem md5- und dem sha512-Ver­schlüs­se­lungs­ver­fah­ren. Python kann fol­gen­de Ver­fah­ren „von Natur aus“: md5, sha1, sha224, sha256, sha384, sha512.

Aufgabe 2:

Das Pro­blem ist schon lan­ge gelöst – mit nur weni­gen Code­zei­len mehr. Infor­mie­re dich über den Begriff „Salt“ in Ver­bin­dung mit Hash­es.

1
2
3
4
5
6
import hashlib
# Statt "somestring" kannst bzw. solltest du möglichst wirres Zeug hier reinschreiben
salt = "somestring"
crypted_phrase = input()
salted_password = crypted_phrase + salt
print(hashlib.md5(salted_password.encode('utf-8')).hexdigest())

Wenn du jetzt ver­suchst, den Hash cra­cken zu las­sen, klappt das nicht mehr, weil ein soge­nann­test „salt“ (Salz) zum Pass­wort hin­zu­ge­fügt wird. Bei unse­rem Pro­gramm ver­wen­det jedes Pass­wort jedoch den glei­chen Salt.

Auch dafür gibt es eine Lösung:

1
2
3
4
5
6
import hashlib, uuid
# Python schreibt nun für dich wirres Zeug hier hinein
salt = uuid.uuid4().hex
crypted_phrase = input()
salted_password = crypted_phrase + salt
print(hashlib.md5(salted_password.encode('utf-8')).hexdigest())

Hät­ten Lin­kedIn und ande­re die Benut­zer­pass­wör­ter mit einem siche­ren Algo­rith­mus (z.B. sha512) gehasht und mit einem Salt ver­se­hen, wäre der Dieb­stahl der Daten­ban­ken nicht so ein gro­ßes Pro­blem, da es sehr lan­ge dau­ern wür­de, die Pass­wör­ter aus den Hash­es zu errech­nen.

In der Pra­xis spei­chert man die Salts im Klar­text zusam­men mit den Hash­es, meist durch ein Trenn­zei­chen abge­setzt. Du kannst ja ein­mal über­le­gen, war­um das kein Pro­blem dar­stellt.

Aufgabe 3:

Schrei­be fol­gen­de Pro­gram­me

  1. Es wird zwei­mal ein Pass­wort abge­fragt und dazu ein Hash berech­net. Stim­men bei­de Hash­es (und damit die Pass­wör­ter) über­ein, soll das Pro­gramm die Aus­ga­be „Access granted!“ machen, ansons­ten „Access denied!“ aus­ge­ben.
  2. Ein Pro­gramm fragt nach einem „Masterpasswort“ (pass­word) und einem Domain­na­men (salt). Es berech­net dar­aus einen Hash, den man als Pass­wort für die betref­fen­de Web­sei­te benut­zen kann – wenn man immer das rich­ti­ge Mas­ter­pass­wort und den glei­chen Domain­na­men ein­gibt – qua­si ein ganz ein­fa­cher Pass­wort­ma­na­ger!

10 Pflichtfach Informatik \n 20 goto 10

Ich hal­te ein „Pflicht­fach Infor­ma­tik“ für unver­zicht­bar. Auf Twit­ter wird Lud­ger Hum­bert nicht müde, immer wie­der und wie­der danach zu rufen, wobei die Pene­tranz, mit er er die­se For­de­rung vor­trägt, weit über die von z.B. Jean-Pol Mar­tin impli­zit als not­wen­dig erach­te­te hin­aus­geht.

Die­se Dau­er­schlei­fe führt im Wesent­li­chen zu drei Reak­ti­ons­mus­tern:

  1. Man erträgt sie nicht mehr und blockt oder mutet.
  2. Man erwi­dert, dass man ja auch nicht ein Auto ver­ste­hen müs­se, um es zu bedie­nen.
  3. Man erwi­dert, dass man ja auch nicht ein Auto ver­ste­hen müs­se, um es zu bedie­nen und blockt oder mutet dann.

Eigent­lich fin­det damit eine Aus­ein­an­der­set­zung auf zwei Ebe­nen statt: Eine emo­tio­na­le und eine ratio­na­le. Wenn ich in der Bera­tung etwas nicht will, ver­su­che ich genau auf zwei Ebe­nen Ableh­nung zu erzeu­gen: Emo­tio­nal und ratio­nal, wobei die ers­te Ebe­ne wesent­lich wich­ti­ger ist.

Ohne Blu­men­fil­ter: Die Art und Wei­se, wie die­se For­de­rung vor­ge­tra­gen wird, sorgt m.E. eigent­lich erst dafür, dass man ihr kei­ne oder allen­falls nega­tiv besetz­te Beach­tung schenkt.

Die ratio­na­le Ebe­ne der Auto­ana­lo­gie ist für mich aller­dings eine nur vor­der­grün­dig ratio­na­le, die wie­der­um viel mit dem jeweils zugrun­de lie­gen­den Kom­pe­tenz­be­griff zu tun hat. Ver­meint­lich als Syn­the­se schleicht sich zusätz­lich der Begriff der Medi­en­kom­pe­tenz in die Debat­te, wobei ich den­ke, dass es kei­ne wie auch immer gear­te­te Medi­en­kom­pe­tenz ohne infor­ma­ti­sche Bil­dung geben kann. Aber lang­sam.

Medienkompetenz ist sexy, denn:
  1. Medi­en­kom­pe­tenz ist vor­der­grün­dig ohne tech­ni­sches Wis­sen ver­mit­tel­bar.
  2. Medi­en­kom­pe­tenz lässt sich am ehes­ten in bestehen­de Fächer inte­grie­ren – das ist admi­nis­tra­tiv sehr sexy, weil es rea­lis­ti­scher erscheint, als ein wei­te­res Fach zu schaf­fen, was ggf. zu Las­ten ande­rer Fächer geht.
  3. Medi­en­kom­pe­tenz fällt digi­tal affi­nen Men­schen qua­si im Vor­bei­ge­hen zu oder wird oft­mals intrinsisch moti­viert erwor­ben, weil es z.B. Vor­tei­le für den eige­nen Unter­richt bie­tet oder geeig­ne­te, sich selbst bestä­ti­gen­de Fil­ter­bub­bles dafür gibt.

Der Medi­en­päd­ago­ge sagt:

Wenn du XY schon nutzt, dann emp­feh­le ich die und die Pro­fi­l­ein­stel­lun­gen, damit bestimm­te Infor­ma­tio­nen nicht sofort Drit­ten zugäng­lich wer­den.“

Informatik ist so gar nicht sexy, denn:
  1. Sie hat etwas mit algo­rith­mi­schen Den­ken zu tun, wovon „Pro­gram­mie­rung“ nur ein win­zi­ger Bruch­teil ist. Algo­rith­mi­sches Den­ken zwingt sehr viel an Struk­tu­ren auf. Das ist oft wenig lust­be­setzt, wenn man es nicht kennt. Auch Qua­li­täts­ma­nage­ment­zy­klen sind im Prin­zip algo­rith­misch: Eva­lua­ti­on => Ziel­set­zung => Pla­nung => Umset­zung von Maß­nah­men => Eva­lu­la­ti­on … (Ok. Manch­mal ist das ja auch zum Kot­zen)
  2. Es haf­tet die­ser Dis­zi­plin immer noch ein Mythos von lang­haa­ri­gen, weiß­häu­ti­gen, piz­za- und ener­gy­drinks­ver­schlin­gen­den Sub­jek­ten an, die sich ansons­ten in Ser­ver­schrän­ken von Bits und Bytes ernäh­ren. Dabei wird ger­ne ver­ges­sen, dass z.B. Soci­al­me­dia nicht ein Pro­dukt von Phi­lo­so­phen und Päd­ago­gen ist und dass gro­ße Soft­ware­pro­jek­te von Teams und sozia­len Umgangs­re­geln geprägt sind, von denen wir auf Soci­al­me­dia oft­mals nur träu­men.
  3. Sie bedroht Pfrün­de. Wel­cher enga­gier­te Päd­ago­ge möch­te von sei­nem Fach etwas abge­ben? Und dann noch für ein Fach mit so zwei­fel­haf­tem Nut­zen? Denn: Auto­fah­ren kann man ja auch so (auch so eine Dau­er­schlei­fe).

Der Infor­ma­ti­ker sagt:

Wenn du XY nutzt, soll­test du fol­gen­de Anga­ben nicht machen und dir dar­über im Kla­ren sein, dass es kei­ne Lösch­funk­ti­on gibt (obwohl sie so heißt), son­dern nur die Mög­lich­keit, die Sicht­bar­keit von Infor­ma­tio­nen tem­po­rär ein­zu­schrän­ken.“

Das Autoargument

… könn­te auch lau­ten: Ich muss nichts über Che­mie wis­sen, um Kos­me­tik zu benut­zen. Oder: Ich brau­che kein Wis­sen über Erkun­de, um eine Rei­se zu unter­neh­men. Trotz­dem „leis­ten“ wir uns bei­de Fächer, obwohl oder gera­de weil die­se bei­den Aus­sa­gen stim­men.

Wir leis­ten uns die­se Fächer, weil wir anneh­men (ja, es ist eine Annah­me), dass die­se umfas­sen­de Kon­zep­te ver­mit­teln, die uns in unse­rer Welt­erfah­rung und Berufs­fin­dung nütz­lich sind.

Bezo­gen auf Infor­ma­tik: Was erle­ben wir denn gera­de und beschrei­ben es ja auch wie­der und wie­der in der Fil­ter­bub­ble? Rich­tig: Den enor­men Ein­fluss der Digi­ta­li­sie­rung auf Wirt­schaft und Gesell­schaft. Genau wie die Ato­me und Mole­kü­le Grund­kon­zep­te beim Auf­bau von Mate­rie beschrei­ben, beschreibt Infor­ma­tik eben Grund­zü­ge digi­ta­ler Struk­tu­ren. Wenn wir Grund­zü­ge nicht ver­mit­teln wol­len, so müs­sen wir kon­se­quen­ter­wei­se alle Fächer abschaf­fen.

Das Auto­ar­gu­ment beschreibt kein Grund­kon­zept. Es beschreibt einen win­zi­gen Teil von Mobi­li­tät, der zudem immer unwich­ti­ger wer­den wird. Daher kann man es m.E. gegen die For­de­rung nach einem Pflicht­fach Infor­ma­tik nicht in Stel­lung brin­gen.

Eben­so wenig wie ich heu­te weiß, wie der Zitro­ne­säu­re­zy­klus genau abläuft, weiß ich durch Infor­ma­tik spä­ter nicht, wie ein Rech­ner funk­tio­niert, aber ich habe Grund­zü­ge der Daten­ver­ar­bei­tung ken­nen­ge­lernt, die sich genau wie der Zitro­nen­säu­re­zy­klus nicht groß­ar­tig ändern.

Das Emotionale am Autoargument

Es ist uns Anwen­dern eigent­lich klar, dass wir sehr wenig wis­sen. Wei­ter­hin ist uns klar, dass die­ses Unwis­sen Kon­se­quen­zen haben wird. Ansons­ten wür­den wir von z.B. der Poli­tik nicht so vehe­ment for­dern, dass sie z.B. bestimm­te Din­ge regu­lie­ren soll, z.B. Ama­zon oder Face­book. Und es ist uns noch etwas klar: Wäh­rend wir das Ler­nen lan­ge Zeit auf jün­ge­re Genera­tio­nen abschie­ben konn­ten, klappt das mit mit dem Ler­nen hin­sicht­lich des Digi­ta­len eher nicht so gut, da die­se Ver­än­de­rung uns alle betrifft und uns daher auch alle for­dert – vor allem auch auf dem Gebiet ethi­scher Grund­sät­ze, die es für Digi­ta­li­en neu zu schrei­ben und zu defi­nie­ren gilt. Das ist schwie­rig, wenn ich nur ahnen kann, was gene­rell mög­lich ist. Dann kommt da z.B. sowas wie Vec­to­ring her­aus.

Das ist zusätz­lich sehr unan­ge­nehm und gar nicht bequem. Das sol­len doch bes­ser die lang­haa­ri­gen, weiß­häu­ti­gen, piz­za- und ener­gy­drinks­ver­schlin­gen­den Sub­jek­te machen. Wir wol­len anwen­den und benut­zen. Dum­mer­wei­se bestim­men damit die lang­haa­ri­gen, weiß­häu­ti­gen, piz­za- und ener­gy­drinks­ver­schlin­gen­den Sub­jek­te bzw. ihre Fir­men grund­le­gen­de Struk­tu­ren auf Basis markt­wirt­schaft­li­cher Kon­zep­te. Ich fin­de die­se Vor­stel­lung irgend­wie blöd.

Kom­pe­tenz­ge­sei­er als Aus­weg?

Die Ver­mitt­lung von Medi­en­kom­pe­tenz ist im Extrem­fall nichts wei­ter als die Wei­ter­ga­be auto­di­dak­tisch erwor­be­ner Anwen­der­kennt­nis­se bzw. gemach­ter Erfah­run­gen inner­halb von Soci­al­me­dia. Sie ist ohne Zwei­fel wich­tig und soll­te Teil in jedem Fach sein. Sie lässt sich aber auf Basis von Wis­sen über infor­ma­ti­sche Grund­kon­zep­te m.E. viel fun­dier­ter und trag­fä­hi­ger ver­mit­teln. Die fik­ti­ve Aus­sa­ge des ste­reo­ty­pen Infor­ma­ti­kers oben eröff­net erwei­ter­te Hand­lungs- und Bewer­tungs­mus­ter gegen­über der ste­reo­ty­pen medi­en­päd­ago­gi­schen Posi­ti­on (wobei bei­des natür­lich nur Bei­spie­le zur Ver­an­schau­li­chung sind).

Der Kom­pe­tenz­seie­rer wür­de jetzt ein­wen­den, dass infor­ma­ti­sches Wis­sen ja auch ver­al­te und damit eher Kom­pe­ten­zen zum selbst­stän­di­gen Erschlie­ßen des infor­ma­ti­schen Wis­sens ver­mit­telt wer­den soll­ten. Damit macht er einer­seits den Dua­lis­mus zwi­schen Kom­pe­tenz und Wis­sen auf, den er den Kom­pe­tenz­kri­ti­kern ger­ne vor­wirft. Und er öff­net ande­rer­seits Sys­te­men (z.B. Lob­by­is­ten) Tor und Tür, den den Bereich der Infor­ma­tik dann eben auf ihre Wei­se beset­zen, denn Men­schen in Aus­bil­dung ahnen ja schon ein wenig, dass es in die­sem Bereich Ent­wick­lungs­mög­lich­kei­ten im spä­te­ren Leben gibt.

Das Argu­ment mit dem „schnell ver­al­te­ten­den Wis­sen“ fin­de ich dar­über hin­aus auch eini­ger­ma­ßen merk­wür­dig. Genau wie mathe­ma­ti­sche oder che­mi­sche Kon­zep­te eini­ger­ma­ßen kon­stant ver­läss­lich sind und den Kom­pe­tenz- und Wis­sens­er­werb in bei­den Dis­zi­pli­nen sowohl struk­tu­rie­ren und letzt­end­lich dadurch auch erleich­tern, gibt es auch in der Infor­ma­tik all­ge­mein­gül­ti­ge Struk­tu­ren wie etwa die Zer­le­gung eines Pro­blems und Teil­schrit­te. In den Geis­tes­wis­sen­schaf­ten sind die­se Struk­tu­ren natur­ge­mäß weni­ger eng bzw. for­mal bestimmt aus­ge­prägt, aber den­noch vor­han­den.

Fazit

Medi­en­kom­pe­tenz ist erst­mal bes­ser als nichts und viel­leicht auch der zunächst prag­ma­ti­sche­re und beque­me­re Weg. Wenn wir jedoch in einer zuneh­mend digi­ta­li­sier­ten Welt leben, wird ein Grund­la­gen­fach wie Infor­ma­tik für mich jedoch unver­zicht­bar, auch wenn die For­de­rung danach viel­leicht unrea­lis­tisch und unbe­quem erscheint. Und nein: Infor­ma­tik heißt nicht „pro­gram­mie­ren ler­nen“. Es heißt viel mehr.

Informatik mit Arduino

leonardo

Ich habe in die­sem Jahr einen Infor­ma­tik­kurs in der Klas­se 10 über­nom­men. Den besucht man als Schü­le­rin oder Schü­ler zusätz­lich zu einem recht vol­len Stun­den­plan in Klas­se 10, um die Opti­on auf eine Teil­nah­me an einem Infor­ma­tik­kurs in Klas­se 11 zu bekom­men. Man darf dann im Abitur zwei Kur­se Natur­wis­sen­schaft durch Infor­ma­tik erset­zen. Ich bin kein gelern­ter Infor­ma­tik­leh­rer – ich bin ein­fach nur ein grö­ßen­wahn­sin­ni­ger Freak und wahr­schein­lich schlägt die Infor­ma­tik­di­dak­tik über mei­ne Ansät­ze die Hän­de in der Luft zusam­men.  Egal – ent­we­der man ist kon­ven­tio­nell oder man lebt.

Stu­fe 1:

Wir haben Pro­ble­me in Ein­zel­pro­ble­me zer­legt – z.B. soll­ten 20 Zah­len von 20 Per­so­nen abge­fragt und addiert wer­den. Unse­re Stra­te­gi­en haben wir auf­ge­schrie­ben. Dabei spielteh fol­gen­de Fra­gen eine Rol­le:

  • Wie mer­ken wir uns die gan­zen Zah­len?
  • Wenn wir sie uns auf­schrei­ben: Wir machen wir das genau? Neben­ein­an­der? Unter­ein­an­der?
  • Addie­ren wir bei jeder Abfra­ge oder fra­gen wir alle Zah­len ab und addie­ren dann?
  • […]

Stu­fe 2:

Wir haben mit dem Fluss­dia­gramm ein Ver­fah­ren ken­nen gelernt, dass Auf­ge­schrie­be­ne zu visua­li­sie­ren und die­se Visua­li­sie­rung für wei­te­re Pro­ble­me durch­ge­spielt, die z.B. Fall­un­ter­schei­dun­gen ent­hiel­ten.

Stu­fe 3:

Mit Scratch haben wir unser Pro­blem aus Stu­fe 1 ganz kon­kret gelöst und zwar durch Pass&Fail. Für Scratch muss man heu­te im Prin­zip nicht ein­mal ein Pro­gramm instal­lie­ren – das läuft auch kom­plett im Brow­ser – wenn man beim MIT einen Account anlegt. Wer moch­te, konn­te sich auch schon am klas­si­schen Rate­spiel „rate eine Zahl zwi­schen 1 und 100“ ver­su­chen oder sich eines der vie­len ver­öf­fent­lich­ten Pro­jek­te zu Scratch vor­neh­men. Die Lösungs­an­sät­ze haben wir uns vor­ge­stellt und teil­wei­se dis­ku­tiert.

Stu­fe 4:

Anhand eines Aus­drucks eines „Scratch­pro­gram­mes“ galt es, ein Fluss­dia­gramm zu zeich­nen und einen fie­sen, von mir natür­lich absicht­lich ein­ge­bau­ten Feh­ler zu fin­den. Dazu gab es noch eini­ge Erwei­te­rungs- und Opti­mie­rungs­auf­ga­ben.

Stu­fe 5:

In einem Doku­wi­ki­sys­tem haben die Schü­le­rin­nen und Schü­ler Sei­ten zu Pro­gram­mier­spra­chen erstellt. Ich habe eine kla­re Struk­tur vor­ge­ge­ben: Eine kur­ze Beschrei­bung zur Spra­che, ein „Hel­lo World!“- , ein „if ‑then – else“- und ein „while“-Codebeispiel. Doku­wi­ki kann das abso­lut pri­ma, weil es einen leis­tungs­fä­hi­gen Syn­tax­high­ligh­ter für fast alles hat. Es braucht kei­ne Daten­bank, ist ajax­ba­siert – ein­fach und umkom­pli­ziert. Unnö­tig zu erwäh­nen, dass dabei die Kon­fron­ta­ti­on mit dem Begriff „Syn­tax“ sowohl theo­re­tisch (für die Spra­che suchen) als auch prak­tisch (Wiki­syn­tax) erfolg­te.

Zwi­schen­stand:

Die Schü­le­rin­nen und Schü­ler haben bis jetzt eigent­lich schon alles erlebt, was man beim Pro­gram­mie­ren so erle­ben kann:

  • Mein Code läuft nicht!“ – „Hm. Da fehlt ’ne Klam­mer“ – „Oha, wenn ich da etwas ein­rü­cke, dann wird es ja viel über­sicht­li­cher.“
  • Sein Code läuft und mei­ner auch. Wel­cher ist denn nun rich­tig?“ – „Wel­cher gefällt dir denn war­um bes­ser?“
  • Boah, ist das viel zu schrei­ben!“ – „Nun­ja – aber wenn sich das stän­dig wie­der­holt, könn­test du ja viel­leicht auch …“
  • […]

Stu­fe 6:

Kur­zer Leh­rer­vor­trag zu Ardui­no. Dann ran an den Simu­la­tor – der ist abso­lut toll und zu emp­feh­len, bevor die ers­ten Bau­tei­le in Rauch auf­ge­hen.

Natür­lich habe ich zunächst eine ganz ein­fa­che Bei­spiel­schal­tung vor­ge­stellt (blin­ken­de LED).

(circuits.io klappt bis­her so rich­tig gut nur mit Chro­me oder Chro­mi­um als Brow­ser.)

Die soll­te dann um drei LEDs in einer Ampel­schal­tung erwei­tert wer­den. Dazu muss­te man schon ein Biss­chen was am Bre­ad­board ver­ste­hen. Neben­bei wur­de auch etwas über die Wel­len­län­ge des Lichts und Far­be gelernt: Im Simu­la­tor ändert man die LED-Far­be durch Ein­ga­be von Wel­len­län­gen in nm. Und ohne Vor­wi­der­stand macht die LED „peng“, ver­polt macht sie gar nichts. Es gab sofort das Spiel: „Wie klein darf ich den Wider­stand machen, dass die LED heil bleibt?“ Neben­bei ist die Simu­la­tor­home­page auf Eng­lisch (Wider­stand = resis­tor).

Stu­fe 7:

Es kommt etwas Theo­rie zur Ardui­no-IDE. Wir wer­den den Ardui­no Leo­nar­do bzw. einen pin­kom­pa­ti­blen Nach­bau  nut­zen, weil der durch sein HID-Funk­tio­nen in Kom­bi­na­ti­on mit Lage­sen­so­ren auch als Game­con­trol­ler oder Mauser­satz taugt. Den Ardui­no kau­fen sich die Schü­le­rin­nen und Schü­ler selbst, das Zube­hör stift­tet unser För­der­ver­ein. Die Kos­ten sind aber sehr mar­gi­nal im Ver­hält­nis zu den sich bie­ten­den Mög­lich­kei­ten. Dann kön­nen wir unse­re Schal­tung aus Stu­fe 6 real auf­bau­en.

Aus­blick

Die Schü­le­rin­nen und Schü­ler sol­len sich nach Mög­lich­keit eige­ne Pro­jek­te suchen, die sie mit dem Ardui­no rea­li­sie­ren. Natür­lich habe ich not­falls Pro­jek­te von unter­schied­li­chem Schwie­rig­keits­grad in der Hin­ter­hand. Der Kom­ple­xi­täts­grad der Pro­jek­te darf natür­lich mit dem wach­sen­den Wis­sens­be­stän­den stei­gen. Die Schu­le bekommt aus einem N21-Pro­jekt für eine AG Robo­ter auf Ardui­no­ba­sis gestellt, auf die sich dann ggf. die erwo­be­nen Kennt­nis­se über­tra­gen las­sen.

Mit der stei­gen­den Kom­ple­xi­tät der Pro­jek­te erwar­te ich ein Anwach­sen der Pro­gramm­codes, das irgend­wann dazu füh­ren soll, bestimm­te Funk­tio­nen aus­zu­la­gern in objekt­ori­en­tier­te Set­tings (Ende 2. Halb­jahr). Schön wäre es, wenn der Code für einen allei­ne nicht mehr zu pfle­gen ist, sodass auch Struk­tu­ren wie SVN not­wen­dig wer­den.

Ers­te Ein­drü­cke

  1. Ich ler­ne mit den Schü­le­rin­nen und Schü­lern mit. Für mich ist vie­les Neu­land.
  2. Schü­le­rin­nen und Schü­ler fin­den Feh­ler im Pro­gramm­code viel schnel­ler in Peer-Reviews als ich
  3. Die­ser Ansatz schreckt auch eini­ge ab. Man muss ja aller­hand aus­hal­ten und sogar auch Elek­tro­nik- und Eng­li­sch­wis­sen aus­bau­en
  4. Ich muss­te die Beschäf­ti­gung mit der Hard­ware vor­zie­hen. Ich und die Schü­le­rin­nen und Schü­ler kön­nen es teil­wei­se kaum erwar­ten.
  5. Es wird sehr selbst­stän­dig und kon­zen­triert gear­bei­tet – auf die Fra­ge: „Kann ich das so machen?“ ant­wor­te ich oft: „Pro­bie­re es aus!“ – und mit die­ser Ant­wort sind sie oft zufrie­den.
  6. Per­fek­tio­nis­ten sind in der Hin­ter­hand – am effek­tivs­ten arbei­ten die Expe­ri­men­tier­freu­di­gen
  7. Man kann wun­der­bar dif­fe­ren­zie­ren: Der C‑Freak bekommt eben eine Bild­röh­re mit Com­po­si­te-Ein­gang, auf der er ein Spiel pro­gram­miert. Das ist vom Timing her nicht tri­vi­al, da der Ardui­no von sei­ner Rechen­leis­tung damit an eine Gren­ze kommt. Dem Anfän­ger reicht viel­leicht ein Lauf­licht als ers­tes Pro­jekt – oder ein Ther­mo­me­ter (NTCs haben eine Kenn­li­nie, muss muss mathe­ma­ti­siert oder mit einem ande­ren Ther­mo­me­ter kal­li­briert wer­den).
  8. Es kom­men Fra­gen wie: „Darf ich zu Hau­se an mei­ner Schal­tung im Simu­la­tor wei­ter­ar­bei­ten?“ „Dür­fen wir unser Pro­jekt auch mit nach Hau­se neh­men?“

Das würde ich gerne mal in Informatik machen

Eine Sicher­heits­fir­ma ver­kauft für ein Bio­la­bor ein Zugangs­kon­troll­sys­tem mit fol­gen­den Eigen­schaf­ten:

  1. Zugangs­kon­trol­le erfolgt über Kar­ten
  2. Die Kar­ten wei­sen zwei unab­hän­gi­ge Sys­te­me auf: Einen Magnet­strei­fen und einen aus­le­se­ge­si­cher­ten Mikro­chip
  3. Fällt der Mikro­chip aus, ist ein Zugang durch den Magnet­strei­fen immer noch mög­lich, wenn das Lese­ge­rät die­sen mit unter­stützt (fall­back)
  4. Zugang wird gewährt, wenn die Kar­te vor­han­den ist und ein sechs­stel­li­ger Code aus­schließ­lich bestehend aus Zah­len kor­rekt ein­ge­tippt wird
  5. Es gibt einen streng gehei­men, mathe­ma­ti­schen Algo­rith­mus, der den jewei­li­gen Code auf der Kar­te in einer Zei­chen­ket­te so ver­schlüs­selt, dass sich durch kein denk­ba­res Ver­fah­ren aus eben­die­ser Zei­chen­ket­te wie­der der Ori­gi­nal­code errech­nen lässt. Nur die­se Zei­chen­ket­te ist auf der Kar­te tat­säch­lich gespei­chert.
  6. Jede Kar­te ent­hält eine ein­deu­ti­ge und ein­ma­li­ge Regis­trie­rungs­num­mer.
  7. Es gibt einen zen­tra­len Rech­ner, auf dem der Ver­schlüs­se­lungs­al­go­rith­mus streng gesi­chert gespei­chert ist und der mit allen Lese­ge­rä­ten ver­bun­den ist.
  8. Auf dem Rech­ner befin­det sich zusätz­lich eine Daten­bank mit allen gül­ti­gen Regis­trie­rungs­num­mern der Zugangs­kar­ten.

Beim Zutritt eines Mit­ar­bei­ters zum Bio­la­bor geschieht nun Fol­gen­des: Die Kar­te wird in das Lese­ge­rät gesteckt. Das Lese­ge­rät nimmt über eine gesi­cher­te, stark ver­schlüs­sel­te Ver­bin­dung Kon­takt zum Zen­tral­rech­ner auf und sen­det dabei die Regis­trie­rungs­num­mer der Kar­te. Wenn die­se Regis­trie­rungs­num­mer gül­tig ist, erhält das Lese­ge­rät den Befehl, den Besit­zer der Kar­te nach dem Code zu fra­gen, andern­falls wird die Kar­te ein­ge­zo­gen und ein stil­ler Alarm aus­ge­löst. Der Besit­zer gibt nun den Code ein, der über die ver­schlüs­sel­te Ver­bin­dung an den Zen­tral­rech­ner geschickt wird. Die­ser berech­net mit sei­nem Algo­rith­mus nun die ver­schlüs­sel­te Zei­chen­ket­te und sen­det sie an das Lese­ge­rät zurück. Die­ses ver­gleicht nun die vom Zen­tral­rech­ner gesen­de­te Zei­chen­ket­te mit der auf der Kar­te gespei­cher­ten. Stim­men bei­de über­ein, wird Zutritt gewährt, andern­falls die erneu­te Ein­ga­be gefor­dert. Es sind maxi­mal drei Ein­ga­ben mög­lich, bevor die Kar­te gesperrt, ein­ge­zo­gen und eben­falls ein stil­ler Alarm aus­ge­löst wird.

Auf­ga­be 1:

  1. Eine Kar­te wird gestoh­len und der Magnet­strei­fen kom­plett auf eine Blan­ko­kar­te kopiert. Ist das ein Sicher­heits­pro­blem bei dem Kon­zept der Zugangs­kon­trol­le? Erläu­tern Sie Ihr Ergeb­nis!

Auf­ga­be 2:

  1. Es bricht jemand in den Zen­tral­rech­ner ein und erhält Zugriff auf den gehei­men Algo­rith­mus. Zusätz­lich kommt er in den Besitz einer Kar­te, deren Magnet­strei­fen er kopie­ren kann. Erklä­ren Sie, war­um das ein gra­vie­ren­des Sicher­heits­pro­blem ist.
  2. Schla­gen Sie geeig­ne­te Ände­run­gen am Sicher­heits­sys­tem vor, um in die­sem Fall dem Bio­la­bor Zeit zu ver­schaf­fen, die Lücke über­haupt erst zu ent­de­cken. Sie kön­nen an jeder Stel­le des Sys­tems anset­zen und auch meh­re­re Mög­lich­kei­ten kom­bi­nie­ren. Begrün­den Sie Ihre Ver­bes­se­rungs­vor­schlä­ge.

Auf­ga­be 3:

  1. Bei einer bestimm­ten Char­ge an Mikro­chips auf den Kar­ten tritt ein Soft­ware­feh­ler auf, der den Zutritt trotz kor­rek­ter Code­in­ga­be ver­wehrt und die Kar­te ein­zieht. Der Her­stel­ler deak­ti­viert als Sofort­maß­nah­me die Ein­heit auf den Lese­ge­rä­ten, die den Mikro­chip aus­liest und behaup­tet, dass dies kein Pro­blem sei. Neh­men Sie Stel­lung zu die­ser Aus­sa­ge.

Auf­ga­be 4:

  1. Nach Recher­chen von Daten­spe­zia­lis­ten stellt sich her­aus, dass nicht nur ein Code nach Berech­nung durch den Algo­rith­mus zur kor­rek­ten Zei­chen­ket­te führt, son­dern bis zu neun die glei­che Zei­chen­ket­te erge­ben. Zusätz­lich wird bekannt, dass man durch Abkle­ben des Chips die Anzahl der Ver­su­che ver­dop­peln kann, weil das Sys­tem des Magnet­strei­fens unab­hän­gig von dem des Chips arbei­tet. Der Daten­spe­zia­list schlägt Alarm – die Sicher­heit des Sys­tems sei dadurch mas­siv beein­träch­tigt. Die Sicher­heits­fir­ma wie­gelt ab – das sei kein Pro­blem. Neh­men sie kri­tisch Stel­lung zu bei­den Posi­tio­nen!

Sie dür­fen für die Lösung der Auf­ga­ben das Inter­net frei ver­wen­den, so lan­ge Sie die ver­wen­de­ten Quel­len ange­ben. Je sau­be­rer Ihre Vor­schlä­ge doku­men­tiert und begrün­det sind, des­to bes­ser. Ach­ten Sie zusätz­lich dar­auf, Ihre Ant­wor­ten auf die jewei­li­ge Fra­ge zuzu­schnei­den.

1 2 3 5