Archives de catégorie : Misc

Comment fermer plusieurs révisions de code Crucible ?

Si vous utilisez Atlassian Crucible pour vos révisions de code, il vous est peut être déjà arrivé d’avoir beaucoup de révisions en attente qui ne sont plus pertinentes et que vous auriez aimé fermer en un clic. Contrairement à JIRA, Crucible n’offre pas de fonctionnalité de traitement en lot, mais il est possible d’utiliser l’API REST pour automatiser cette tâche. Voici deux scripts pour Windows qui se chargeront de fermer ou compléter une liste de révisions de code Crucible pour un utilisateur donné. Continuer la lecture

Comment sont cryptées les transactions EMV ?

La question suivante a été posée aujourd’hui sur StackOverflow : Quel mécanisme d’encryption est utilisé pour les transactions EMV ?

La réponse est simple : aucun. Les communications entre une carte EMV et un lecteur sans-contact ne sont pas cryptées. Il est facile d’enregistrer les APDUs échangés pendant le dialogue, par exemple à l’aide de l’espion sans-contact Fime SmartSpy.

Pour autant, ça ne signifie pas qu’il est possible d’utiliser ces informations pour cloner la carte ou réaliser des transactions. L’interception du dialogue donne accès à certaines informations (ex : le numéro de carte, l’équivalent des données de la second piste magnétique), mais:

  • il n’y a pas toutes les informations nécessaires au clonage d’une carte magnétique
  • le numéro CVV inscrit au dos de la carte n’est pas disponible, et ne permet donc pas de réaliser des achats en ligne.
  • il est impossible de « rejouer » la transaction, car les données de transaction contiennent deux numéros aléatoires générés par la carte et le terminal, différents pour chaque transaction, et signés par la carte.

Ce dernier point – la signature de la transaction – est le moment où la cryptographie intervient. La carte de paiement contient une clé privée/un certificat utilisé pour signer la transaction, afin que l’acquéreur puisse l’authentifier et la valider. Ce certifcat n’est jamais transmis au lecteur sans-contact, et n’est pas accessible avec les commandes EMV. C’est ce certificat qui est protégé et crypté sur la carte et permettrait de cloner une carte.

Compiler du code .Net en exécutable natif

Aujourd’hui, je suis tombé sur cette annonce de Microsoft   :  la première version bêta de .NET Native.

En bref, .Net Native permet de compiler du code c#/.Net dans un exécutable natif. Les principaux avantages :

  • un gain de performance significatif (ex : les applications du Windows Store utilisant .Net Native démarrent 60% plus rapidement)
  • une empreinte mémoire réduite
  • tout cela en conservant les gains de productivité offerts par C# et .Net par rapport au C/C++

Ces avantages sont particulièrement intéressants. Il y en a un autre moins évident mais tout aussi intéressant : plus de dépendance sur la version du framework .Net installé sur la machine client. Il devient possible de coder avec la dernière version du framework sans obliger les utilisateurs à mettre à jour leur version du framework.

Exemple de transaction EMV InteracFlash

Pour comprendre les mécanismes EMV, il est toujours intéressant d’avoir des exemples d’APDU et de dialogues. Ci-dessous, un exemple d’une transaction EMV réussie (achat sans-contact Interac Flash). Inutile de récupérer les infos de la carte, c’est une carte de test invalide dans le monde réel 🙂 PCD identifie les commandes du terminal, PICC les réponses de la carte InteracFlash :
Continuer la lecture