Echoes - Echoes camshot
lundi 21 décembre 2020 (1 post)

Aujourd'hui les jours rallongent \o/

Corsac@09:14:20 (Roadbook)

samedi 19 décembre 2020 (1 post)

As a followup to the previous post, here's an update on the iOS 14 USB tethering problem on Linux. After some investigation, Matti Vuorela found that reducing the USB packet size by two bytes would actually fix the issue. A small patch was later commited to the Linux kernel and found its way to Linux and distributions stable releases. On Debian stable you'll need to upgrade to Buster 10.7 to get the fix.

Yves-Alexis@11:14:08 (Debian)

vendredi 16 octobre 2020 (1 post)

It's a bit of a long shot, but maybe someone on Planet Debian or elsewhere can help us reach the right people at Apple.

Starting with iOS 14, something apparently changed on the way USB tethering (also called Personal Hotspot) is set up, which broke it for people using Linux. The driver in use is ipheth, developped in 2009 and included in the Linux kernel in 2010.

The kernel driver negotiates over USB with the iOS device in order to setup the link. The protocol used by both parties to communicate don't really seemed documented publicly, and it seems the protocol has evolved over time and iOS versions, and the Linux driver hasn't been kept up to date. On macOS and Windows the driver apparently comes with iTunes, and Apple engineers obviously know how to communicate with iOS devices, so iOS 14 is supported just fine.

There's an open bug on libimobildevice (the set of userlands tools used to communicate with iOS devices, although the update should be done in the kernel), with some debugging and communication logs between Windows and an iOS device, but so far no real progress has been done. The link is enabled, the host gets an IP from the device, can ping the device IP and can even resolve name using the device DNS resolver, but IP forwarding seems disabled, no packet goes farther than the device itself.

That means a lot of people upgrading to iOS 14 will suddenly lose USB tethering. While Wi-Fi and Bluetooth connection sharing still works, it's still suboptimal, so it'd be nice to fix the kernel driver and support the latest protocol used in iOS 14.

If someone knows the right contact (or the right way to contact them) at Apple so we can have access to some kind of documentation on the protocol and the state machine to use, please reach us (either to the libimobile device bug or to my email address below).


Yves-Alexis@14:36:41 (Debian)

vendredi 09 octobre 2020 (2 posts)

So, a bit more thank 18 months ago, I started a new adventure. After a few flights with a friend of mine in a Robin DR400 and Jodel aircrafts, I enlisted in a local flight club at the Lognes airfield (LFPL), and started a Pilot Private License training. A PPL is an international flight license for non commercial operations. Associated with a qualification like the SEP (Single Engine Piston), it enables you to fly basically anywhere in the world (or at least anywhere where French is spoken by the air traffic controllers) with passengers, under Visual Flight Rules (VFR).

A bit like with cars, training has two parts, theoretical and practical, both validated in a test. You don't have to pass the theoretical test before starting the practical training, and it's actually recommended to do both in parallel, especially since nowadays most of the theoretical training is done online (you still have to do 10h of in-person courses before taking the test).

So in March 2019 I started both trainings. Theoretical training is divided in various domains, like regulations, flight mechanics, meteorology, human factors etc. and you can obviously train in parallel. Practical is more sequential and starts with basic flight training (turns, climbs, descents), then take-off, then landing configuration, then landing itself. All of that obviously with a flight instructor sitting next to you (you're on the left seat but the FI is the “pilot in command”). You then start doing circuit patterns, meaning you take off, do a circuit around the airfield, then land on the runway you just took off. Usually you actually don't do a complete landing but rather touch and go, and do it again in order to have more and more landing training.

Once you know how to take-off, do a pattern and land when everything is OK, you start practicing (still with your flight instructor aboard) various failures: especially engine failures at take off, but also flaps failure and stuff like that, all that while still doing patterns and practicing landings. At one point, the flight instructor deems you ready: he exits the plane, and you start your first solo flight: engine tests, take off, one pattern, landing.

For me practical training was done in an Aquila AT-01/A210, which is a small 2-seater. It's really light (it can actually be used as an ultralight), empty weight is a bit above 500kg and max weight is 750. It doesn't go really fast (it cruises at around 100 knots, 185 km/h) but it's nice to fly. As it's really lightweight the wind really shakes it though and it can be a bit hard to land because it really glides very well (with a lift-to-drag ratio at 14). I tried to fly a lot in the beginning, so the basic flight training was done in about 6 months and 23 flight hours. At that point my instructor stepped out of the plane and I did my first solo flight. Everything actually went just fine, because we did repeat a lot before that, so it wasn't even that scary. I guess I will remember my whole life, as people said, but it was pretty uneventful, although the controller did scold me a little because when taxiing back to the parking I misunderstood the instructions and didn't stop where asked (no runway incursion though).

After the first solo flight, you keep practicing patterns and solo flights every once in a while, and start doing cross-country flights: you're not restricted to the local airfields (LFPL, LFAI, LFPK) but start planning trips to more remote airports, about 30-40 minutes away (for me it was Moret/LFPU, Troyes/LFQB, Pontoise/LFPT). Cross country flights requires you to plan the route (draw it on the map, and write a navigation log so you know what to do when in flight), but also check the weather, relevant information, especially NOTAMs - Notice To Air Men (I hope someone rename those Notice to Air Crews at one point), estimate the fuel needed etc. For me, flight preparation time was between once and twice the flight time. Early flight preparation is completed on the day by last-minute checks, especially for weather. During the briefing (with the flight instructor at first, but for the test with the flight examiner and later with yourself) you check in turn every bit of information to decide if you're GO or not for the flight. As a lot of things in aviation, safety is really paramount here.

Once you've practiced cross country flight a bit, you start learning what to do in case of failures during a non-local flights, for example an engine failure in a middle of nowhere, when you have to chose a proper field to land, or a radio failure. And again when you're ready for it (and in case of my local club, once you pass your theoretical exam) you go for cross-country solo flights (of the 10h of solo flight required for taking the test, 5h should be done in cross-country flights). I went again to Troyes (LFQB), then Dijon-Darois (LFGI) and did a three-legs flight to Chalons-Ecury (LFQK) and Pont sur Yonne (LFGO).

And just after that, when I was starting to feel ready for the test, COVID-19 lockdown happened, grounding everyone for a few months. Even after it was over, I felt a bit rusty and had to take some more training. I finally took the test in the beginning of summer, but the first attempt wasn't good enough: I was really stressed, and maybe not completely ready actually. So a bit more training during summer, and finally in September I took the final test part, which was successful this time.

After some paperwork, a new, shiny, Pilot Private License arrived at my door.

And now that I can fly basically when I want, the autumn is finally here with bad weather all day long, so actually planning real flights is a bit tricky. For now I'm still flying solo on familiar trips, but at some point I should be able to bring a passenger with me (on the Aquila) and at some point migrate to a four-seaters like the DR400, ubiquitous in France.

Yves-Alexis@18:37:21 (Debian)

Il y a un peu plus de 18 mois, je me suis embarqué dans une nouvelle aventure. Après quelques vols avec un ami en DR400 et en Jodel, je me suis inscris dans un aéro-club à l'aérodrome de Lognes (LFPL) et j'ai débuté une formation de pilote privé. Le PPL est une licence reconnue internationalement qui permet de faire des vols non commerciaux. Elle est associé à une qualification de classe d'avions (comme SEP pour les avions monomoteur à piston) et permet de voler n'importe où dans le monde (ou disons pour l'instant n'importe où où le français est une langue officielle parlée par les contrôleurs aériens) avec des passagers, selon les règles du vol à vue.

Un peu comme le permis voiture, la formation comporte deux parties, théorique et pratique, avec un examen pour chacune. On peut commencer la formation pratique avant d'avoir la partie théorique (avant même de commencer d'ailleurs), et c'est même recommandé de faire les deux en parallèle, d'autant plus que de nos jours la majeure partie de la formation théorique est faite en ligne (il y a tout de même 10h de cours physiques).

En mars 2019, j'ai donc commencé les deux parties. La partie théorique couvre différents domaines: règlementation, mécanique du vol, météo, facteurs humains etc. et il est évidemment possible d'avancer en parallèle. La partie pratique est plutôt séquentielle et démarre par des exercices de maniabilité (virages, montées, descentes), puis les décollages, l'approche de l'atterrissage, puis l'atterrissage lui-même. Tout ça évidemment avec un instructeur assis à côté (l'élève est en place gauche mais c'est bien l'instructeur qui est commandant de bord, même si au fur et à mesure des leçons il pilote de moins en moins). Une fois les premiers atterrissages effectués on se concentre principalement là dessus en effectuant des tours de pistes: décollage, deux virages à 90°, remontée de la piste, puis nouveau virage en base, puis en finale, et atterrissage. En général on se contente d'un posé-décoller, pour multiplier les atterrissages et s'entraîner le plus possible.

Une fois que l'on sait décoller et atterrir dans les conditions optimales, on commence à s'entraîner (toujours avec instructeur à bord) pour les cas de panne: en particulier les pannes moteurs au décollage, mais aussi problèmes de volets etc., le tout en continuant les tours de piste et les atterrissages. À un moment l'instructeur considère l'élève prêt: il sort de l'avion et l'élève fait son premier vol solo: taxi, essais moteurs, décollage, un tour de piste et atterrissage.

De mon côté, j'ai appris le pilotage sur Aquila AT-01/A210, un petit deux places. Il est très léger (certaines versions sont considérées comme ULM), il pèse à peine 500 kg à vide, et le poids maximum est de 750 kg (avec carburant, passagers et bagages). Il ne va pas très vite (environ 100 nœuds ou 180 km/h), mais il est chouette à piloter. Comme il est très léger, il est très vite secoué par le vent, et dès que ça souffle un peu il est compliqué à poser car il veut continuer de planer (il a une finesse de 14). Au début j'ai réussi à pas mal voler (deux fois par semaine quand tout allait bien), donc la maniabilité s'est faite en environ 6 mois et 23 heures de vol. À ce moment là, mon instructeur est descendu de l'avion et j'ai fait mon premier vol solo. Tout s'est bien passé, sans grand stress, vue la préparation, et je n'ai même pas ressenti d'appréhension au final. Comme tout le monde dit, je pense que je m'en souviendrai toute ma vie, mais en pratique il ne s'est pas passé grand chose, hormis un petit sermon (gentil) du contrôleur sol lors du retour au parking après le vol: j'avais mal compris les instructions qu'il m'avait donné et je ne me suis pas arrêté comme indiqué (mais pas d'incursion de piste, tout va bien).

Après le premier solo, on continue les tours de pistes et du solo de temps en temps, et surtout on commence à faire des navigations: au lieu de rester à Lognes (LFPL) ou aux aérodromes alentours (LFPK à Coulommier, LFAI à Nangis), on peut commencer à préparer des vols un peu plus lointain, autour d'une demi-heure par exemple. Dans mon cas j'ai été à Moret-Episy (LFPU), à Troyes-Barberey (LFQB) et à Pontoise (LFPT). Pour préparer une navigation, il faut à la fois prévoir la route elle même (tracer la route sur la carte aérienne, préparer un « log de nav » avec les distances, les temps et les caps à disposition pendant le vol), mais aussi vérifier la météo, les informations règlementaires comme les NOTAM (Notice to Air Men), la quantité de carburant nécessaire etc. Pour moi, au début en tout cas, une préparation de vol me demandait entre une et deux fois le temps de vol effectif. La préparation initiale (navigation etc.) est complétée juste avant le vol par une dernière étude des conditions météo etc. Lors du briefing pré-vol (pendant la formation avec l'instructeur, puis au moment du test avec l'examinateur, et ensuite avec soi-même) on vérifie chaque domaine (navigation, météo, notam, carburant etc.) et à chaque fois on vérifie que tout est OK pour le vol. Dans l'aviation, beaucoup, beaucoup de choses tournent autour de la sécurité (ce qui se comprend, en cas de soucis il ne suffit pas simplement de lever le pied et se mettre sur le bas côté).

Une fois avoir pratiqué quelques navigations, on retourne vers les pannes, et en particulier quoi faire en cas de panne en campagne: panne moteur au milieu de nulle part, où il faut prévoir un atterrissage d'urgence, ou encore une panne radio. Là encore, une fois prêt (et, dans le cas de mon club, après avoir passé avec succès l'examen théorique), on commence les navigations solo (sur les 10h de vol solo nécessaire pour passer le test, il faut en avoir fait 5 en navigation). Dans mon cas, j'ai fait des navigation vers Troyes, puis Dijon-Darois (LFGI) et j'ai fait ma navigation trois-branches (nécessaire aussi pour passer le test) vers Chalons-Ecury (LFQK) et Pont-sur-Yonne (LFGO).

Juste après ça, quand je commençais à me sentir près pour le test, le confinement lié au COVID-19 a démarré, clouant au sol avions et pilotes pour plusieurs mois. Même après le déconfinement ça a été un peu compliqué de reprendre, et j'étais un peu rouillé et j'ai refais un peu d'entraînement. J'ai finalement passé le test au debut de l'été, mais le premier essai n'a pas été suffisant: j'étais vraiment très stressé, et honnêtement sans doute pas complètement prêt. Du coup j'ai fait un peu de réentraînement pendant l'été, et finalement, courant septembre, j'ai passé le test final, qui cette fois a été réussi.

Après un peu de paperasse (rendue un peu compliquée mais pas dramatiquement non plus par l'épidémie qui reprend un peu), ma licence de pilote privé est finalement arrivée au courier.

Et maintenant que je peux voler à peu près quand et comme je veux, l'automne est finalement là, avec un temps au mieux maussade. Du coup planifier des vols devient un peu compliqué. Pour l'instant, et même si techniquement je peux prendre des passagers avec moi, je refais quelques vols solos sur des terrains familiers. Avant de plus tard pouvoir emmener un passager avec moi en Aquila, et peut-être me faire lâcher sur un quatre places comme le DR400.

Corsac@18:31:29 (Echoes)

samedi 04 janvier 2020 (1 post)

Après un peu d'interruption, nouvelle liste de films pour 2019. Toujours une année pas très remplie, toujours pour les mêmes raisons:

  • Ben is back: 11 février 2019, UGC Ciné Cité Les Halles
  • Le chant du loup: 25 mars 2019, MK2 Bibliothèque
  • Avengers: Endgame: 28 mai 2019, MK2 Bibliothèque
  • Yesterday: 13 juillet 2019, MK2 Quai de Seine
  • Never grow old: 12 août 2019, UGC Montparnasse
  • Once upon a time in Hollywood: 14 août 2019, UGC Ciné Cité Bercy
  • Anna: 15 août 2019, UGC Ciné Cité Les Halles
  • Joker: 28 octobre 2019, MK2 Bibliothèque 
  • La reine des neiges 2: 7 décembre 2019, Grand Rex

Dans les mentions spéciales, j'ai beaucoup aimé Ben is back et Yesterday. Un peu déçu par Once upon a time in Hollywood mais pour être honnête c'est un pur Tarantino, juste je me suis un peu lassé de la violence gratuite, je crois.

Corsac@15:17:50 (Roadbook)

samedi 21 décembre 2019 (1 post)

Aujourd'hui les jours rallongent \o/

Corsac@16:00:21 (Roadbook)

mardi 26 novembre 2019 (1 post)

Bonne fête Delphine !

Corsac@11:22:19 (Roadbook)

vendredi 21 décembre 2018 (2 posts)

So Soldout, a band I really like, recently announced they were ending the adventure. They gave a last show last week in Brussels, but I couldn't manage to be there. Fortunately, the show was recorded and streamed live, so I was able to listen and watch. The show was really nice, and I actually listened to it multiple time, but video isn't the best format to hear it.

I decided to convert the video file to audio only, and split it so it'd be easier to listen. I don't really think I can share the result, but I guess I can share how to reproduce it.

First, the file is available on Soldout facebook page, it can be downloaded with:
youtube-dl --extract-audio

Then we just need some ffmpeg calls to split the files at the correct offset. The timestamps for my splits are: 150.00 580.00 868.55 1153.05 1552.85 1795.82 2048.84 2349.04 2759.29 3043.32 3293.02 3499.34 3955.38 4247.52 4589.55 4881.19 5072.57 5390.38. Here are the relevant ffmpeg calls:

ffmpeg -ss  150.00 -to  580.00 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/01. The call - We are soldout.m4a"
ffmpeg -ss 580.00 -to 868.55 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/02. Wasabi.m4a"
ffmpeg -ss 868.55 -to 1153.05 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/03. I can't wait.m4a"
ffmpeg -ss 1153.05 -to 1552.85 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/04. 94.m4a"
ffmpeg -ss 1552.85 -to 1795.82 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/05. Forever.m4a"
ffmpeg -ss 1795.82 -to 2048.84 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/06. My love.m4a"
ffmpeg -ss 2048.84 -to 2349.04 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/07. A drop of water.m4a"
ffmpeg -ss 2349.04 -to 2759.29 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/08. Oppression.m4a"
ffmpeg -ss 2759.29 -to 3043.32 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/09. I don't want to have sex with you.m4a"
ffmpeg -ss 3043.32 -to 3293.02 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/10. Mine (feat. John Stargasm).m4a"
ffmpeg -ss 3293.02 -to 3499.34 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/11. One word and the next.m4a"
ffmpeg -ss 3499.34 -to 3955.38 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/12. The Box (feat. Richard 23).m4a"
ffmpeg -ss 3955.38 -to 4247.52 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/13. I don't want to Have sex with you (Soldout vs. Girls in Hawaii).m4a"
ffmpeg -ss 4247.52 -to 4589.55 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/14. Do It Again.m4a"
ffmpeg -ss 4589.55 -to 4881.19 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/15. Get out.m4a"
ffmpeg -ss 4881.19 -to 5072.57 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/16. To the ocean.m4a"
ffmpeg -ss 5072.57 -to 5390.38 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/17. Dune.m4a"
ffmpeg -ss 5390.38 -i "SOLDOUT was live.-531084120689596.m4a" -vn "SOLDOUT Live at AB - Ancienne Belgique/18. The flow.m4a"

You can also download the complete shell script here. Tagging is left as an exercise.

Corsac@18:16:00 (Echoes)

Aujourd'hui les jours rallongent \o/

Corsac@11:14:30 (Roadbook)

mercredi 28 mars 2018 (2 posts)

There was some noise recently about the massive amount of data gathered by Cambridge Analytica from Facebook users. While I don't use Facebook myself, I do use Google and other services which are known to gather a massive amount of data, and I obviously know a lot of people using those services. I also saw some posts or tweet threads about the data collection those services do.

Mozilla recently released a Firefox extension to help users confine Facebook data collection. This addon is actually based on the containers technology Mozilla develops since few years. It started as an experimental feature in Nightly, then as a test pilot experiment, and finally evolved into a fully featured extension called Multi-Account containers. A somehow restricted version of this is even included directly in Firefox but you don't have the configuration window without the extension and you need to configure it manually with about:config.

Basically, containers separate storage (cookies, site preference, login session etc.) and enable an user to isolate various aspect of their online life by only staying logged to specific websites in their respective containers. In a way it looks like having a separate Firefox profile per website, but it's a lot more usable daily.

I use this extension massively, in order to isolate each website. I have one container for Google, one for Twitter, one for banking etc. If I used Facebook, I would have a Facebook container, if I used gmail I would have a gmail container. Then, my day to day browsing is done using the “default” container, where I'm not logged to any website, so tracking is minimal (I also use uBlock origin to reduce ads and tracking).

That way, my online life is compartmentalized/containerized and Google doesn't always associate my web searches to my account (I actually usually use DuckDuckGo but sometimes I do a Google search), Twitter only knows about the tweets I read and I don't expose all my cookies to every website.

The extension and support pages are really helpful to get started, but basically:

  • you install the extension from the extension page
  • you create new containers for the various websites you want using the menu
  • when you open a new tab you can opt to open it in a selected container by long pressing on the + button
  • the current container is shown in the URL bar and with a color underline on the current tab
  • it's also optionally possible to assign a website to a container (for example, always open in the Facebook container), which can help restricting data exposure but might prevent you browsing that site unidentified

When you're inside the container and you want to follow a link, you can get out of the container by right clicking on the link, select “Open link in new container tab” then select “no container”. That way Facebook won't follow you on that website and you'll start fresh (after the redirection).

As far as I can tell it's not yet possible to have disposable containers (which would be trashed after you close the tab) but a feature request is open and another extension seems to exist.

In the end, and while the isolation from that extension is not perfect, I really suggest Firefox users to give it a try. In my opinion it's really easy to use and really helps maintaining healthy barriers on one's online presence. I don't know about an equivalent system for Chromium (or Safari) users but if you know about it feel free to point it to me.

A French version of this post is also available here just in case.

Yves-Alexis@20:44:03 (Debian)

La collecte de données d'utilisateurs Facebook par Cambridge Analytica a fait pas mal de bruit récemment. Je ne suis pas moi-même utilisateur de Facebook, mais j'utilise d'autres services comme ceux de Google, connus pour leur collecte massive de données utilisateurs, et je connais beaucoup de monde qui utilise Facebook quotidiennement. J'ai aussi vu passer des tweets de gens qui racontent la quantité de données personnelles collectées par ces services.

Mozilla a récemment publié une extension Firefox permettant d'aider les internautes à limiter la collecte de données par Facebook. Cette extension est en fait basée sur les containers (ou contextes), que Mozilla développe depuis plusieurs années. Ça a commencé par une fonctionnalité expérimentale dans la version en développement, puis comme une expérimentation test pilot jusqu'à devenir une extension complète nommée Multi-Account containers. Une version réduite sans interface de configuration est même intégrée directement dans Firefox.

Les containers Firefox séparent le stockage local des sites visités (cookies, préférences, sessions utilisateurs etc.) et permettent à un utilisateur d'isoler les différents pans de sa vie en ligne, en ne s'identifiant à un site que dans un « contexte » spécifique. Un peu comme en ayant un profil Firefox complet par site, mais en beaucoup plus pratique.

Personnellement j'utilise cette extension sans arrêt afin d'isoler les différents sites où je suis identifié. J'ai un contexte pour Google, un pour Twitter, un pour ma banque etc. Si j'utilisais Facebook j'en aurais un pour Facebook, si j'utilisais gmail j'en aurai un pour gmail. La navigation courante se fait dans le container « par défaut » où je ne suis jamais identifié à aucun site web, et où la collecte de données est donc plus minime (j'utilise aussi l'extension uBlock Origin pour limiter les pubs et le tracking).

Du coup, ma vie en ligne est compartimentée: Google n'associe pas chacune de mes requête à mon compte (par ailleurs j'utilise plutôt DuckDuckGo, Twitter ne connait que les tweets que je regarde et je n'expose pas tous mes cookies à tous les sites web.

Pour se servir de l'extension, la page de téléchargement ainsi que celle de support sont vraiment claires, mais globalement ça se passe comme ça:

  • on installe l'extension depuis la page, et on l'active ;
  • on crée de nouveaux contextes correspondant à son usage, via le menu de configuration ;
  • on ouvre un onglet dans un contexte spécial en cliquant longuement sur le + ou en utilisant contrôle+clic ;
  • le contexte courant est indiqué dans la barre d'URL ainsi que par un liseré de couleur sous l'onglet ;
  • optionnellement, on peut assigner un site à un contexte, et il s'ouvrira systématiquement dans ce contexte (par exemple s'ouvrira systématiquement dans le contexte Facebook, ce qui est sans doute ce que fait l'extension récemment publiée par Mozilla); ça permet de restreindre l'exposition des données mais empêche par contre de regarder Facebook sans être identifié

Une fois à l'intérieur d'un contexte, on peut en sortir en faisant un clic droit sur un lien, en choisissant « Ouvrir dans un nouvel onglet contextuel » et en sélectionnant « Sans contexte ». De cette façon Facebook ne continuera pas le suivi dans le nouveau contexte.

Autant que je sache il n'est pas encore possible d'avoir des contextes jetables (détruits lors de la fermeture de l'onglet) mais une requête est ouverte à ce sujet et une autre extension semble exister.

Au final, et même si l'isolation n'est peut-être pas complète, je recommande fortement aux utilisateurs de Firefox d'essayer cette extension. Je la trouve vraiment simple d'utilisation et elle aide vraiment à conserver de saines frontières dans sa vie en ligne.

Je ne sais pas s'il existe un équivalent pour Chromium (ou Safari), mais si quelqu'un en connait n'hésitez pas à me l'indiquer.

Yves-Alexis@20:35:16 (Echoes)

jeudi 21 décembre 2017 (1 post)

Aujourd'hui les jours rallongent \o/

Corsac@08:18:07 (Echoes)

dimanche 26 novembre 2017 (1 post)

Bonne fête Delphine !

Corsac@08:16:54 (Roadbook)

lundi 16 octobre 2017 (1 post)

Following the news about the ROCA vulnerability (weak key generation in Infineon-based smartcards, more info here and here) I can confirm that the Almex smartcard I mentionned on my last post (which are Infineon based) are indeed vulnerable.

I've contacted Almex to have more details, but if you were interested in buying that smartcard, you might want to refrain for now.

It does *not* affect keys generated off-card and later injected (the process I use myself).


Yves-Alexis@17:32:01 (Debian)

mardi 10 octobre 2017 (1 post)

A long time ago, I switched my GnuPG setup to a smartcard based one. I kept using the same master key, but:

  • copied the rsa4096 master key to a “master” smartcard, for when I need to sign (certify) other keys;
  • created rsa2048 subkeys (for signature, encryption and authentication) and moved them to an OpenPGP smartcard for daily usage.

I've been working with that setup for a few years now and it is working perfectly fine. The signature counter on the OpenPGP basic card is a bit north of 5000 which is large but not that huge, all considered (and not counting authentication and decryption key usage).

One very nice feature of using a smartcard is that my laptop (or other machines I work on) never manipulates the private key directly but only sends request to the card, which is a really huge improvement, in my opinion. But it's also not the perfect solution for me: the OpenPGP card uses a proprietary platform from ZeitControl, named BasicCard. We have very few information on the smartcard, besides the fact that Werner Koch trust ZeistControl to not mess up. One caveat for me is that the card does not use a certified secure microcontroler like you would find in smartcard chips found in debit card or electronic IDs. That means it's not really been audited by a competent hardware lab, and thus can't be considered secure against physical attacks. The cardOS software and the application implementing the OpenPGP specification are not public either and have not been audited either, to the best of my knowledge.

At one point I was interested in the Yubikey Neo, especially since the architecture Yubico used was common: a (supposedly) certified platform (secure microcontroler, card OS) and a GlobalPlatform / JavaCard virtual machine. The applet used in the Yubikey Neo is open-source, too, so you could take a look at it and identify any issue.

Unfortunately, Yubico transitioned to a less common and more proprietary infrastructure for Yubikey 4: it's not longer Javacard based, and they don't provide the applet source anymore. This was not really seen as a good move by a lot of people, including Konstantin Ryabitsev ( administrator). Also, it wasn't possible  even for the Yubico Neo to actually build the applet yourself and inject it on the card: when the Yubikey leaves the facility, the applet is already installed and the smartcard is locked (for obvious security reason). I've tried asking about getting naked/empty Yubikey with developers keys to load the applet myself, but it' was apparently not possible or would have required signing an NDA with NXP (the chip maker), which is not really possible as an individual (not that I really want to anyway).

In the meantime, a coworker actually wrote an OpenPGP javacard applet, with the intention to support latest version of the OpenPGP specification, and especially elliptic curve cryptography. The applet is called SmartPGP and has been released on ANSSI github repository. I investigated a bit, and found a smartcard with correct specification: certified (in France or Germany), and supporting Javacard 3.0.4 (required for ECC). The card can do RSA2048 (unfortunately not RSA4096) and EC with NIST (secp256r1, secp384r1, secp521r1) and Brainpool (P256, P384, P512) curves.

I've ordered some cards, and when they arrived started playing. I've built the SmartPGP applet and pushed it to a smartcard, then generated some keys and tried with GnuPG. I'm right now in the process of migrating to a new smartcard based on that setup, which seems to work just fine after few days.

Part two of this serie will describe how to build the applet and inject it in the smartcard. The process is already documented here and there, but there are few things not to forget, like how to lock the card after provisionning, so I guess having the complete process somewhere might be useful in case some people want to reproduce it.

Yves-Alexis@22:44:37 (Debian)

jeudi 27 avril 2017 (1 post)

Since the question popped here and there, I'll post a short blog post about the issue right now so there's a reference somewhere.

As you may know, Brad Spengler (spender) and the Pax Team recently announced that the grsecurity test patches won't be released publicly anymore. The stable patches were already restricted to enterprise, paying customers, this is now also the case for the test patches.

Obviously that means the end of the current situation in Debian since I used those test patches for the linux-grsec packages, but I'm not exactly sure what comes next and I need to think a bit about this before doing anything.

The “passing the baton” post mention a handover to the community (though the FAQ mention it needs to stop using the term “grsecurity”) so maybe there's some coordination possible with other users like Gentoo Hardened and Alpine, but it's not clear what would be possible with the tools we have.

I'm actually quite busy right now so I don't have much time to think about all this, but expect a new blog post when things have settled a bit and I've made up my mind.

Yves-Alexis@13:18:57 (Debian)

mercredi 21 décembre 2016 (1 post)

Aujourd'hui les jours rallongent \o/

Corsac@12:03:55 (Roadbook)

samedi 26 novembre 2016 (1 post)

Bonne fête Delphine !

Corsac@12:03:31 (Roadbook)

mercredi 04 mai 2016 (1 post)

Following discussion in #810506 and the ACK by the backports team, I've uploaded linux-grsec package (version 4.4.7-1+grsec201604152208+1~bpo8+1) to jessie-backports, and it has been ACCEPTED this morning (along with linux-grsec-base support package). So if you have a Jessie install with backports enabled, linux-grsec should be one apt call away:

apt install -t jessie-backports linux-image-grsec-amd64

4.4.8 should follow soon


Yves-Alexis@10:45:35 (Debian)

  • 1520 posts
  • 6908 jours
  • 0.22 posts/jour
  • IRC