<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Vulnerabilite_des_reseaux_lorawan</id>
	<title>Vulnerabilite des reseaux lorawan - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Vulnerabilite_des_reseaux_lorawan"/>
	<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Vulnerabilite_des_reseaux_lorawan&amp;action=history"/>
	<updated>2026-05-21T08:50:46Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Vulnerabilite_des_reseaux_lorawan&amp;diff=9651&amp;oldid=prev</id>
		<title>Hrako : Hrako a déplacé la page Vulnerabilite du reseaux lorawan vers Vulnerabilite des reseaux lorawan</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Vulnerabilite_des_reseaux_lorawan&amp;diff=9651&amp;oldid=prev"/>
		<updated>2016-11-20T20:26:53Z</updated>

		<summary type="html">&lt;p&gt;Hrako a déplacé la page &lt;a href=&quot;/mediawiki/index.php/Vulnerabilite_du_reseaux_lorawan&quot; class=&quot;mw-redirect&quot; title=&quot;Vulnerabilite du reseaux lorawan&quot;&gt;Vulnerabilite du reseaux lorawan&lt;/a&gt; vers &lt;a href=&quot;/mediawiki/index.php/Vulnerabilite_des_reseaux_lorawan&quot; title=&quot;Vulnerabilite des reseaux lorawan&quot;&gt;Vulnerabilite des reseaux lorawan&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 20 novembre 2016 à 20:26&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;fr&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Aucune différence)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Hrako</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Vulnerabilite_des_reseaux_lorawan&amp;diff=9650&amp;oldid=prev</id>
		<title>Hrako : /* De la technologie LoRa au réseau LoRaW */</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Vulnerabilite_des_reseaux_lorawan&amp;diff=9650&amp;oldid=prev"/>
		<updated>2016-11-20T20:25:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;De la technologie LoRa au réseau LoRaW&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 20 novembre 2016 à 20:25&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 1 :&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 1 :&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== De la technologie LoRa au réseau &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;LoRaW&lt;/del&gt; ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== De la technologie LoRa au réseau &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;LoRaWan&lt;/ins&gt; ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;LoRa, pour Long Range, est le nom donné à la couche physique radio-fréquence&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;LoRa, pour Long Range, est le nom donné à la couche physique radio-fréquence&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hrako</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Vulnerabilite_des_reseaux_lorawan&amp;diff=9649&amp;oldid=prev</id>
		<title>Hrako : /* De la technologie LoRa au réseau LoRaW */</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Vulnerabilite_des_reseaux_lorawan&amp;diff=9649&amp;oldid=prev"/>
		<updated>2016-11-20T20:21:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;De la technologie LoRa au réseau LoRaW&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 20 novembre 2016 à 20:21&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 48 :&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 48 :&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ces données cryptées avec les informations sur les devices, réseaux sont cryptées avec NwkSKey.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ces données cryptées avec les informations sur les devices, réseaux sont cryptées avec NwkSKey.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Encription&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.png]][[Fichier:Cryptage etape&lt;/del&gt;.png]]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Encription.png]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Cryptage etape.png]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Faille protocolaire ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Faille protocolaire ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hrako</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Vulnerabilite_des_reseaux_lorawan&amp;diff=9646&amp;oldid=prev</id>
		<title>Hrako : Page créée avec «  == De la technologie LoRa au réseau LoRaW ==  LoRa, pour Long Range, est le nom donné à la couche physique radio-fréquence alors que LoRaWAN, pour LoRa Wide Area Netw... »</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Vulnerabilite_des_reseaux_lorawan&amp;diff=9646&amp;oldid=prev"/>
		<updated>2016-11-20T20:17:28Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec «  == De la technologie LoRa au réseau LoRaW ==  LoRa, pour Long Range, est le nom donné à la couche physique radio-fréquence alors que LoRaWAN, pour LoRa Wide Area Netw... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== De la technologie LoRa au réseau LoRaW ==&lt;br /&gt;
&lt;br /&gt;
LoRa, pour Long Range, est le nom donné à la couche physique radio-fréquence&lt;br /&gt;
alors que LoRaWAN, pour LoRa Wide Area Network, désigne la couche de&lt;br /&gt;
protocole orientée très basse consommation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Architecture d’un réseau LoRaWan&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Topologie en étoile :&lt;br /&gt;
&lt;br /&gt;
-(Classe A) les équipements – appelés end-devices – communiquent en LoRa avec&lt;br /&gt;
&lt;br /&gt;
-(Classe B) des concentrateurs – appelés gateways. Ces concentrateurs centralisent les&lt;br /&gt;
messages pour les transmettre au&lt;br /&gt;
&lt;br /&gt;
-(Classe C) serveur de gestion du réseau ou serveur de données. La liaison entre les&lt;br /&gt;
concentrateurs et le serveur de gestion du réseau s’appuie sur des technologies très haut&lt;br /&gt;
débit (Ethernet, 4G,...).&lt;br /&gt;
&lt;br /&gt;
LoRaWan se base sur le protocole nommé LoRaMAC qui définit l’interaction&lt;br /&gt;
entre les nœuds et les passerelles.&lt;br /&gt;
Le protocole LoRaMAC propose plusieurs mécanismes intéressants comme la&lt;br /&gt;
synchronisation temporelle des nœuds, la gestion d’adaptation de la puissance&lt;br /&gt;
d’émission du nœud au travers d’un échange avec la passerelle, ainsi qu’un&lt;br /&gt;
ensemble de clés d’identification du nœud, du réseau et de l’application.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Arch.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;La sécurité d’un réseau LoRaWan&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Deux chiffrements AES-128, actuellement le plus utilisé et le plus sûr.&lt;br /&gt;
&lt;br /&gt;
Network Session Key (NwkSKey) – assure l’authenticité des équipements sur le réseau.&lt;br /&gt;
&lt;br /&gt;
Application Session Key (AppSKey) – la sécurité et la confidentialité des&lt;br /&gt;
données transmises à travers le réseau.&lt;br /&gt;
&lt;br /&gt;
En fait, la clé réseau permet à l’opérateur de sécuriser son réseau alors que la clé applicative permet au fournisseur de l’application de sécuriser les données qui transitent à travers le réseau.&lt;br /&gt;
&lt;br /&gt;
C’est à dire les données applicatives sont cryptées avec AppSKey.&lt;br /&gt;
&lt;br /&gt;
Ces données cryptées avec les informations sur les devices, réseaux sont cryptées avec NwkSKey.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Encription.png]][[Fichier:Cryptage etape.png]]&lt;br /&gt;
&lt;br /&gt;
== Faille protocolaire ==&lt;br /&gt;
Découverte de failles sur Sigfox par Renaud Lifchitz, chercheur en sécurité chez Digital Security.&lt;br /&gt;
&lt;br /&gt;
Possibilité d’intercepter des messages et d’usurper l’identité des équipements qui constituent un réseau LoRaWAN.&lt;br /&gt;
&lt;br /&gt;
L’implantation du chiffrement AES128 n’est pas optimale et ouvre la porte à des attaques de déchiffrement partiel ou total.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Un simple codage en XOR&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
----&lt;br /&gt;
Le chiffrement des données utilise un simple codage en XOR, donc génération d’une succession de clés (« keystream »).&lt;br /&gt;
&lt;br /&gt;
Coder chaque bloc du message en XOR. Ainsi,&lt;br /&gt;
=&amp;gt; le message chiffré a exactement la même taille que le message non chiffré&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; Si l’on connaît le contenu d’un message, il est possible de récupérer un keystream. Et en rejouant ce keystream, on peut alors déchiffrer les messages ultérieurs.&lt;br /&gt;
&lt;br /&gt;
== Usurpation et dumps de mémoire ==&lt;br /&gt;
Failles dans des implémentations logicielles et matérielles&lt;br /&gt;
&lt;br /&gt;
Certaines passerelles ne sont pas authentifiées et il est assez facile d’usurper leur identité.&lt;br /&gt;
&lt;br /&gt;
Chaque passerelle envoie régulièrement vers les serveurs un numéro d&amp;#039;identification appelé Gateway EUI qu’il est assez facile de connaître. Il suffit d’avoir une passerelle qui envoie le même numéro mais de manière plus fréquente pour se substituer à la vraie passerelle.&lt;br /&gt;
&lt;br /&gt;
== Solutions proposées ==&lt;br /&gt;
&lt;br /&gt;
-Envoyer systématiquement des messages de taille fixe et en binaire&lt;br /&gt;
&lt;br /&gt;
-Utiliser des plateformes matérielles inviolables (Secure Elements) pour stocker et protéger les clés de chiffrement sur les objets connectés&lt;br /&gt;
&lt;br /&gt;
-Choisir des clés différentes pour chaque objet&lt;/div&gt;</summary>
		<author><name>Hrako</name></author>
	</entry>
</feed>