Accueil / Cybersécurité / Securite informatique / Des gants, des autocollants et des Pin’s NFC pour les Jeux Olympiques d’hiver

Des gants, des autocollants et des Pin’s NFC pour les Jeux Olympiques d’hiver

La société Visa a créé des gants, des autocollants et des pin’s NFC sur le thème des Jeux Olympiques. L’idée, effectuer des paiements rapides sur n’importe quel terminal de paiement équipé en sans contact.

Le sans contact dit NFC gagne du terrain. Visa, le fabriquant de cartes bancaires, vient de lancer trois produits NFC, paiement sans contact, pour les Jeux Olympiques d’Hiver. Des JO qui se dérouleront en Corée du Sud. L’entreprise s’est associée à Lotte Card, le pôle financier du géant de la grande distribution Lotte Department Store. Mission, créer de nouveaux accessoires de paiement. Ils sont disponibles depuis le 9 novembre partout en Corée. Parmi les produits, quatre pin’s au prix unitaire de 5 000 KRW (4€). Il faut ajouter un montant prépayé intégré d’une valeur de 30 000 (23€) ou 50 000 (38€) Won coréen (KRW).

Qui dit hiver, dit gant. Visa propose des gants… de paiement. Ils sont équipés d’une puce à double interface munie d’une antenne sans contact permettant d’effectuer des achats sur les sites officiels des Jeux Olympiques et sur les terminaux compatibles partout dans le monde. Les gants seront pré-chargés avec un montant prépayé d’une valeur de 30 000 ou 50 000 Won coréen (KRW).

Pour finir, des autocollants. Ici aussi, une puce et une antenne NFC à double interface. Ces micro-étiquettes peuvent être collées sur n’importe quel support, afin d’effectuer facilement et rapidement des paiements à tout moment. Les autocollants de paiement seront pré-chargés avec des montants prépayés s’élevant à 30 000, 50 000, 100 000 ou 200 000 Won coréen (KRW).

Pour rappel, la société LotteCard avait été victime d’un piratage massif de ses données en décembre 2013. Les données personnelles d’environ 20 millions de clients de Citi Bank Korea, Kookmin Bank, NongHyup Bank, KB Kookmin Card et Lotte Card avaient été touchées par cette fuite massive.

Protection des moyens de paiement sans contact

Pour la première fois, un moyen de protection active proposé sous forme de carte plastique empêche toute utilisation frauduleuse d’une carte de paiement sans contact ou d’un moyen de paiement utilisant le NFC sur un smartphone. C’est la promesse du laboratoire de design dirigé par Tomasz Pomorski, Omnichip et ISRA Cards, un fabricant français de cartes plastiques avec ou sans puce et avec ou sans contact. Les deux entreprises ont réfléchi à la création de cartes intégrant la technologie Active Blocker.

Alors que les systèmes de protection actuels se contentent de proposer un « bouclier » physique censé arrêter les ondes de façon aussi passive qu’imparfaite, Active Blocker va plus loin que la simple perturbation de la communication : il l’empêche en la brouillant. En effet, si un fraudeur tente de se connecter à une carte NFC via un lecteur pirate, ActiveBlocker empêchera toute communication en émettant des signaux qui « couvriront » ceux de la carte NFC. Le procédé de brouillage est vieux comme les ondes mais s’avère compliqué à mettre en œuvre dans une communication en champ proche car son effet perturbateur doit rester circonscrit à des distancent à la fois relativement courtes et suffisamment longues pour être parfaitement efficace.

C’est pourquoi ISRA a réfléchi à la création d’une carte dédiée à la protection des moyens de paiements, mais aussi des documents d’identités utilisant la technologie sans contact tels que les e-passeports. Cette carte se glisse simplement dans le portefeuille ou le porte-carte avec les cartes de paiement et agit immédiatement, sans batterie. Dès que l’utilisateur sort sa carte de sans contact pour effectuer un paiement chez un commerçant, elle quitte le champ d’action d’ActiveBlocker, son signal n’est donc plus brouillé et le paiement peut s’effectuer tout à fait normalement.

ISRA Cards et Omnichip proposeront leur produit commun à tous les acteurs susceptibles d’être confrontés à des problématiques de sécurité liés au NFC tels que banques, sociétés d’assurance ou d’assistance, distributeurs, fabricants ; dans des formes adaptées aux besoins des utilisateurs finaux : carte de protection, carte de fidélité, carte d’authentification, etc.

La rédaction a demandé une version pour test, nous n’avons pas encore reçu de réponse.

Étiquetté :

Nos partenaires




Actualités du mois

mars 2026
L M M J V S D
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Articles en UNE

Actus zataz



Réseaux sociaux


Liste des sujets


<!-- Cyber'Émission ZATAZ — badge volant (déplaçable) + réduire/fermer -->
<div class="zataz-yt-float" id="zatazYtFloat" role="region" aria-label="Cyber'Émission ZATAZ">
  <div class="zataz-yt-float__bar" id="zatazYtBar">
    <span class="zataz-yt-float__title">Cyber'Émission ZATAZ</span>

    <div class="zataz-yt-float__actions">
      <button type="button" class="zataz-yt-float__btn" id="zatazYtMin" aria-label="Réduire">—</button>
      <button type="button" class="zataz-yt-float__btn zataz-yt-float__btn--close" id="zatazYtClose" aria-label="Fermer">×</button>
    </div>
  </div>

  <a class="zataz-yt-badge" href="https://www.youtube.com/@ZATAZCOM" target="_blank" rel="noopener noreferrer"
     aria-label="Regarder Cyber'Émission ZATAZ sur YouTube (nouvel onglet)">
    <span class="zataz-yt-badge__thumb" aria-hidden="true">
      <span class="zataz-yt-badge__play" aria-hidden="true"></span>
    </span>
  </a>
</div>

<style>
  .zataz-yt-float{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:99999;
    width:320px;
    max-width:calc(100vw - 36px);
    border-radius:14px;
    overflow:hidden;
    background:linear-gradient(135deg,#111827,#0b1220 55%,#111827);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 14px 40px rgba(0,0,0,.35);
    transform:translateZ(0);
    user-select:none;
    touch-action:none; /* drag mobile */
  }

  /* Barre de drag + boutons */
  .zataz-yt-float__bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 10px 10px 12px;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    color:#fff;
    background:rgba(0,0,0,.18);
    border-bottom:1px solid rgba(255,255,255,.10);
    cursor:grab;
  }
  .zataz-yt-float__bar:active{ cursor:grabbing; }
  .zataz-yt-float__title{
    font-weight:800;
    letter-spacing:.2px;
    font-size:15px;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .zataz-yt-float__actions{ display:flex; gap:8px; }
  .zataz-yt-float__btn{
    appearance:none;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(0,0,0,.28);
    color:#fff;
    width:32px;
    height:28px;
    border-radius:10px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    display:grid;
    place-items:center;
  }
  .zataz-yt-float__btn:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.28); }
  .zataz-yt-float__btn--close:hover{ background:rgba(239,68,68,.22); border-color:rgba(239,68,68,.45); }

  /* Contenu (votre vignette) */
  .zataz-yt-badge{
    display:block;
    text-decoration:none;
    color:#fff;
  }
  .zataz-yt-badge__thumb{
    display:block;
    height:180px;
    background:#0f172a url("https://i.ytimg.com/vi/HUo8dnD6Swk/hqdefault.jpg") center/cover no-repeat;
    position:relative;
  }
  .zataz-yt-badge__play{
    position:absolute;
    left:50%;
    top:50%;
    width:54px;
    height:54px;
    margin:-27px 0 0 -27px;
    border-radius:999px;
    background:rgba(0,0,0,.55);
    border:1px solid rgba(255,255,255,.25);
    box-shadow:0 10px 22px rgba(0,0,0,.35);
  }
  .zataz-yt-badge__play:before{
    content:"";
    position:absolute;
    left:22px;
    top:16px;
    width:0;height:0;
    border-top:11px solid transparent;
    border-bottom:11px solid transparent;
    border-left:16px solid #fff;
  }

  .zataz-yt-float:hover{
    box-shadow:0 18px 55px rgba(0,0,0,.45);
    border-color:rgba(255,255,255,.18);
  }
  .zataz-yt-badge:active{ transform:scale(.99); }

  /* Etat réduit */
  .zataz-yt-float.is-min .zataz-yt-badge{ display:none; }
  .zataz-yt-float.is-min{ width:260px; }

  /* Mobile : plus compact */
  @media (max-width:480px){
    .zataz-yt-float{ width:280px; right:12px; bottom:12px; }
    .zataz-yt-badge__thumb{ height:158px; }
    .zataz-yt-float.is-min{ width:220px; }
  }
</style>

<script>
(() => {
  const box = document.getElementById('zatazYtFloat');
  const bar = document.getElementById('zatazYtBar');
  const btnMin = document.getElementById('zatazYtMin');
  const btnClose = document.getElementById('zatazYtClose');

  if (!box || !bar || !btnMin || !btnClose) return;

  // Réduire / restaurer
  btnMin.addEventListener('click', (e) => {
    e.stopPropagation();
    box.classList.toggle('is-min');
    btnMin.textContent = box.classList.contains('is-min') ? '▢' : '—';
    btnMin.setAttribute('aria-label', box.classList.contains('is-min') ? 'Restaurer' : 'Réduire');
  });

  // Fermer
  btnClose.addEventListener('click', (e) => {
    e.stopPropagation();
    box.remove();
  });

  // Drag (souris + tactile) via Pointer Events
  let dragging = false;
  let startX = 0, startY = 0;
  let startLeft = 0, startTop = 0;

  // Position initiale: on convertit right/bottom en left/top pour le drag
  const init = () => {
    const r = box.getBoundingClientRect();
    box.style.left = r.left + 'px';
    box.style.top  = r.top  + 'px';
    box.style.right = 'auto';
    box.style.bottom = 'auto';
  };
  init();

  const clamp = (v, min, max) => Math.min(Math.max(v, min), max);

  bar.addEventListener('pointerdown', (e) => {
    // pas de drag quand on clique sur les boutons
    if (e.target === btnMin || e.target === btnClose) return;

    dragging = true;
    bar.setPointerCapture(e.pointerId);

    const r = box.getBoundingClientRect();
    startX = e.clientX;
    startY = e.clientY;
    startLeft = r.left;
    startTop = r.top;

    e.preventDefault();
  });

  bar.addEventListener('pointermove', (e) => {
    if (!dragging) return;

    const dx = e.clientX - startX;
    const dy = e.clientY - startY;

    const r = box.getBoundingClientRect();
    const w = r.width;
    const h = r.height;

    const maxLeft = window.innerWidth - w - 8;
    const maxTop  = window.innerHeight - h - 8;

    box.style.left = clamp(startLeft + dx, 8, maxLeft) + 'px';
    box.style.top  = clamp(startTop + dy, 8, maxTop) + 'px';
  });

  const endDrag = () => { dragging = false; };
  bar.addEventListener('pointerup', endDrag);
  bar.addEventListener('pointercancel', endDrag);

  // Re-clamp au resize
  window.addEventListener('resize', () => {
    const r = box.getBoundingClientRect();
    const maxLeft = window.innerWidth - r.width - 8;
    const maxTop  = window.innerHeight - r.height - 8;
    box.style.left = clamp(r.left, 8, maxLeft) + 'px';
    box.style.top  = clamp(r.top, 8, maxTop) + 'px';
  });
})();
</script>