Categories
Austria Politics

#define gerechte Pensionen

Weil mal wieder der Generationenvertrag in Sachen Pensionen im Gespräch ist, und Alt gegen Jung diskutiert, will ich hier mal einen Gedanken einwerfen, der zu oft ignoriert wird.

Wir haben ein Umlagesystem bei den Pensionen: die jetzt Arbeitenden zahlen die Pensionen der vorigen Generation in der Erwartung, dass dann ihre Kinder und Enkel das Gleiche für sie machen werden. Alles gut und sinnvoll, aber was genau meinen wir eigentlich mit “das Gleiche machen”?

Durch die demoskopischen Entwicklungen und die Änderungen in der Lebenserwartung sind die Randbedingungen nicht konstant geblieben, die Frage hat daher keine triviale Antwort. Ich sehe grob zwei Ansätze, wobei ich bewusst nicht behaupte, dass der eine wahrer ist als der andere.

Der anspruchsbasierte Ansatz

Nach x Jahren Arbeit / ab dem y. Lebensjahr hat man einen Anspruch auf eine Pension in der Höhe von f(Arbeitseinkommen). Wenn die Generation, die jetzt in Pension ist, das für ihre Vorgänger ermöglicht hat, dann ist es nur fair, wenn auch sie zu den gleichen Konditionen in Pension gehen können. Ja, an ein paar der Parameter wurde in den letzten Jahren leicht gedreht, etwa der Funktion, die aus dem Einkommen über die Berufsjahre die Pensionshöhe ermittelt, aber der Ansatz blieb der gleiche: man hat sich eine Pension in einer gewissen Höhe verdient, und die haben die Kinder und der Staat zu garantieren. “Ist ja fair, wir haben das gleiche für unsere Vorfahren gemacht.”

Der kostenbasierte Ansatz

Wir können aber auch andersherum rechnen: die jetzigen Pensionisten mussten während ihres Arbeitslebens für die Unterstützung ihrer Eltern/Großeltern einen gewissen Teil ihres Einkommens abgeben. Teils direkt per SV-Abgaben auf ihr Einkommen, teils per Arbeitsgeberbeiträge auf ihren Lohn aber auch über Zuschüsse aus dem regulärem Staatsbudget. Das könnte man sicher aus historischen Statistik- und Budgetdaten für jedes Nachkriegsjahr ausheben. Der genaue Prozentwert spielt hier keine Rolle, aber ich bin mir sehr sicher, dass er über die Jahre hinweg gestiegen ist, weil die Bevölkerung nicht mehr so stark wächst (was das Ganze in Richtung Ponzi-Schema gerückt hat) und die Lebenserwartung viel stärker gestiegen ist als das Pensionseintrittsalter. Man kann gut argumentieren, dass das nicht fair ist. Warum sollen heutigen Arbeitenden mehr ihrer Wirtschaftsleistung an die Pensionisten abgeben, als was diese früher für ihre Vorgänger abgegeben haben?


Aus einer rein rationalen Sicht sind beide Ansätze gleich richtig. Beide sind in sich konsistent und logisch. Der Mathematiker und Informatiker in mir sagt: wenn man bei einer Optimierungsaufgabe die Zielfunktion nicht klar definiert (hier “Was ist gerecht?”), dann kann man nicht objektiv die beste Lösung suchen. Das geht mir bei der aktuellen Debatte ab. Die Anerkennung, dass es mehr als einen Blickwinkel auf das Thema gibt, und dass man daher einen politischen Kompromiss suchen wird müssen.

Aber in einem Bereich bin ich ganz hart für den kostenbasierten Ansatz: Angeblich sind die Politikerpensionen in Italien komplett aus dem Ruder gelaufen, weil schon kurze Karrieren dort großen Pensionsansprüche triggern. Hier wäre ein hartes “Aber in Summe kriegen sie nicht mehr als x% vom BIP.” hilfreich.  

Categories
Austria Internet Politics

ID Austria und der Bundestrojaner

[2022-08-16: ein paar Klarstellungen hinzugefügt.]

Letztens hat wer auf Twitter geschrieben, dass es doch sein könnte, dass in die für ID Austria vorgesehene Smartphone App (“Digitales Amt”) ein Bundestrojaner eingebaut ist. Ich halte das für ausgesprochen unwahrscheinlich, die Argumente dahinter (neben den trivialen “das schaffen sie nicht” und “das wäre illegal”) eignen sich aber nicht für Twitter, daher dieser Blogpost.

Auf die Frage, warum SMS nicht mehr sicher genug ist, und warum eine App am Smartphone als zweiten Faktor die Lösung sein soll, will ich hier nicht eingehen. Das ist ein anderes Thema, und ist in der Form auch gar nicht mehr wahr, da auch FIDO Tokens (Level 2) unterstützt werden. Auch das Thema Datenschutz will ich hier nicht ansprechen.

Categories
System Administration

Parsing the EU Digital COVID Certificate

I recently go my first Covid-19 shot, and shortly after that I received my QR code that is supposed to prove to anybody that I’m vaccinated.

Of course, I was interested in the actual technical implementation of the thing so I started tinkering around. Initially, I wasn’t sure whether the QR code just links to a webpage or is a standalone document, but reading the documentation quickly made clear that it simply contains a signed document.

There is a python snippet floating around that does all the decoding (decode base45, decompress, decode cbor, ignore signature, cbor decode), but I was wondering whether I can just use standard Linux command-line tools to do the same.

To my big surprise, I could not find a simple base45 decoder to be used on the command line. Neither the GNU coreutils (which supports a bunch of encodings) or basez have implemented base45 yet. For a quick coding exercise, getting code into the coreutils was a bit too ambitious, so I rolled my own in a few minutes. I haven’t done coding in C for quite some time, so this was fun. (while probably not necessary, this should be doable as a one-liner in Perl)

Next step: The libz decompression. Here, too, I was surprised that my Debian box did not have a simple program ready to do it. After some googling, I found that
zlib-flate -uncompress
does the trick. zlib-flate is included in the qpdf package.

Update: The debian package zlib1g-dev contains a few example programs, zpipe.c does exactly what I need. Just copy the file from /usr/share/doc/zlib1g-dev/examples/ , compile with “cc -o zpipe zpipe.c -lz”.

Then cbor: at first this looked easy, there is a libcbor0 in Debian and appropriate modules for Perl and Python. But a command-line tool? That’s not included by default.

Initially, I tried using
python3 -m cbor2.tool
and then continue with jq to select the right element (jq ‘.”CBORTag:18″[2]’ seems to do the trick) but I ran into encoding issues: I did not manage to extract the element in binary form, I always had escape sequences like ‘\x04’ or ‘\u0012’ in there which are not suitable for next step of cbor decoding.

Update: I’ve now read a bit more about the cbor standard and on the things it can do that JSON can’t, is handling raw binary data. JSON knows strings, yes, but they are character strings encoded in utf-8, not sequences of octets. Back in the old days of latin1 that might not have mattered that much, but these days you really shouldn’t mix those two.

So this is still work in progress, watch this space for updates.

Updates:

  • I’m not the only one who tried this, see also this blogpost by Corentin Dupont.
  • Based on troubles with faked certificates, I had a closer look at the key distribtion and updates of the Austrian green pass system. I documented the results in a blogpost at CERT.at.

Categories
Internet

Ein anderer Vorschlag zu Facebook

Markus Sulzbacher schlägt im Standard vor, Facebook aus Datenschutz/Kartellrechtsgründen zu zerschlagen.

Ich hätte da einen andere, deutlich subtilere Idee:

Facebook (das social media network) selber halte ich nicht für wahnsinnig wichtig, diese Netze kommen und gehen und Facebook wird hier keine Ausnahme sein. Ich halte WhatsApp für die langfristig deutlich spannendere Plattform, weil sie ein deutlich grundlegenderes Thema mit noch stärkerem Metcalfe’s Law Effekt behandelt: Die simple (text/voice) Kommunikation zwischen zwei Menschen und (fast noch wichtiger) in Gruppen.

Es gibt aus regulatorischer Sicht dafür aber bereits eine klare Lösung, die beim Telefonnetz super funktioniert hat und die Monopole erfolgreich aufgebrochen hat: Die Pflicht zur transparenten Vernetzung der Telefonanbieter inklusive Nummernportierung.

Daher: es wäre einfach an der Zeit, IM Systeme mit einer gewissen Marktmacht, also etwa Skype, WhatsApp, Facebook Messenger, iChat, … genauso zu behandeln, wie Telefonnetze und SMS und deren Interoperabilität vorzuschreiben.

Ja, das kann Österreich nicht im nationalen Alleingang machen, aber die EU hätte die Macht dazu.

Ob die EU auch die Eier dafür hat, ist die offene Frage.

Categories
Windows 10

A nugget from the Windows 10 Event log

While investigating why Outlook stopped working, I found the following in the EventLog:

win10-event

2117? WTF?

Categories
Pet Peeves Windows 10

Win10: controlled folder access

I’ve enabled controlled folder access on my work Windows 10 machine.  Now it is giving me notifications like:

win10-ransomare

The idea is fine, of course I need to finetune the settings (and one click brings to the relevant settings page), but how the §$%& should I know which program to white-list? I cannot find a way to get the full path of the offending program.

I need to search.

Why is there no “Application ‘full path’ is trying to make changes: whitelist y/n” dialogue?

Categories
Windows 10

Windows accounts for Kids

While being logged in with my Microsoft Account I did not manage to create local accounts for the kids. There is this nice and fluffy “Create accounts for your family” system, but that implies that you create Microsoft Accounts for everybody.

I refuse to do that for kids. Sorry Microsoft, they are kids, they should not need cloud-based accounts yet.

Apparently you can create additional local account if you’re logged in on a local account. Great.

But there is no GUI to set the time limits for the kids if they are using a local account. You have to do this one the command line. e.g. with

net user kid1 /times:Sa,08:00-20:00

See this article.

Categories
Pet Peeves Windows 10

Windows 10 peeves

I’m not a computer newbie. Neither am I a first-time Windows user.

Windows 10 has proved to be a very mixed bag for me. Some things are very clever and nicely done, and then there are a bunch of “what the f*ck were they thinking” moments for me.

I’ve now added the category “Windows 10” to this blog to keep track of my peeves and my workarounds.

 

Categories
System Administration

Testing …

Is this thing still on?

My old wordpress installation has been suffering from bit-rot and the upgrade to Debian jessie completely killed the wordpress installation. I’m moving over posts and pages manually, let’s see if I get this blog (including pictures) up and running again.

 

 

Categories
CERT Internet Pet Peeves

Of Ads and Signatures

Both advertisements and signatures have been with us in the analogue realm for ages, the society has learned about their usefulness and limits. We have learned that it’s (usually) hard to judge the impact of a single ad, and that the process of actually validating a contested signature is not trivial. There is a good reason why the law requires more than a single signature to authorize the transfer of real estate.

Both concepts have been translated to the digital, online world.

And in both cases, there were promises that the new, digital and online versions of ads/signatures can deliver features that their old, analogue counterparts could not do.

For ads, it was the promise of real-time tracking of their effectiveness. You could do “clickthrough rates” measuring how often the ad was clicked by a viewer. The holy grail of ad effectivity tracking is the fabled “conversion rate”: you can measure how many people actually bought your product after clicking an ad.

For signatures, it was the promise of automated validation. If you get a digitally signed document, you should be able to actually verify (and can have 100% trust in the result) whether it was really signed by the signatory. Remember: in the analogue world, almost nobody actually does this. The lay person can detect crude forgeries, but even that only if the recipient has access to samples of authentic signatures. In reality, a closer inspection of handwritten signatures is only done for important transactions, or in the case of a dispute.

So how did things work out after a few years of experience with digital ads and signatures?