Nicolas Guillou
email: nicolas.guillou@cerema.fr

Georges Chapalain

Annual and seasonal variabilities in the performances of wave energy converters

Keywords: Wave power matrix, Capacity factor, SWAN, Pelamis, AquaBuOY, Wave Dragon

Locations of wave energy converters (WECs) are, most of the time, determined in areas with the highest density of mean wave power while ignoring the temporal variabilities of the resource. The most energetic regions are, however, characterised by strong interand intra-annual variations of wave power that may impact the energy production and performances of devices. We investigated these influences by focusing on the generated power from three well-known WECs that reached the stage of full-stage testing: Pelamis, AquaBuOY and Wave Dragon. This evaluation was conducted in western Brittany, one of the most energetic area along the coast of France. In comparison with the available resource, the generated technical power was characterised by reduced annual and seasonal variations. These effects were particularly noticeable for Pelamis that exhibited a reduced intermittency in the energy output between the winter and summer periods. The most energetic conditions had furthermore a restricted contribution to devices power output, mainly related to events with energy periods between 10.5 and 12.5 s, and significant wave heights between 2.75 and 4.25 m. WECs performances exhibited finally strong variabilities, in winter, with monthly-averaged values of the capacity factor up to 65% for Wave Dragon.

Introduction

Among the different marine renewable energies (wind, tide, biomass, ocean thermal sources, osmotic...), the power of wind-generated surface-gravity waves presents an abundant resource, estimated at around 2 TW at the worldwide scale [START_REF] Gunn | Quantifying the global wave power resource[END_REF]. As wave energy may be characterised by a high power density in coastal waters [START_REF] Clément | Wave energy in Europe: current status and perspectives[END_REF], its exploitation has sparked, over the last decade, the most diverse technological developments with a wide range of wave energy converters (WECs) deployed in real sea conditions [START_REF] Falcão | Wave energy utilization: a review of the technologies[END_REF][START_REF] Lindroth | Offshore wave power measurements -A review[END_REF]. In order to guarantee successful deployment of these devices and reduce the risk of investors, it is, however, essential to optimise their design and locations. Numerous studies were conducted to assess WECs performances in most promising locations for wave energy exploitation. A part of these investigations relied on wave buoy records as a refined reference to capture, at high temporal resolution, the variations of sea states distribution [START_REF] O'connor | Techno-economic performance of the Pelamis P1 and Wavestar at different ratings and various locations in Europe[END_REF][START_REF] Cahill | Wave energy resource characterisation of the Atlantic Marine Energy Test Site[END_REF][START_REF] Diaconu | Evaluation of various WEC devices in the Romanian near shore[END_REF][START_REF] Bozzi | Wave electricity production in Italian offshore: A preliminary investigation[END_REF]. These measurements are, however, not always available at locations of interest or cover (when recently implemented) a restricted period of time that can not encompass the inter-and intra-annual evolutions of the wave climate. Numerical modelling tools were thus, most of the time, retained to complement in-situ observations, and assess the technical power generated from a series of WECs (Tab. 1). These investigations were primarily targeted to the regions with the highest wave power including the west coast of Canada, the south-eastern part of Australia and the Atlantic European seafronts of Ireland, the United-Kingdom, France, Portugal and Spain [START_REF] Rusu | The performance of some state-of-the-art wave energy converters in locations with the worldwide highest wave power[END_REF].

Apart from a few exceptions [START_REF] Robertson | Quantifying wave power and wave energy converter array production potential[END_REF][START_REF] Sierra | Assessment of the intra-annual and inter-annual variability of the wave energy resource in the Bay of Biscay (France)[END_REF][START_REF] Carballo | The intra-annual variability in the performance of wave energy converters: A comparative study in N Galicia (Spain)[END_REF][START_REF] Bento | Wave energy assessment for Northern Spain from a 33-year hindcast[END_REF], most of these studies compared the averaged technical resource generated by a series of WECs in potential farm locations while ignoring the inter-and intra-annual variabilities of energy production. These aspects are, however, fundamental to consider as a device may show yearly-averaged high efficiency whereas the technology is designed for winter conditions, only. The generated energy may furthermore double from one year to another as a consequence of the interannual variability of the available wave power [START_REF] Sierra | Assessment of the intra-annual and inter-annual variability of the wave energy resource in the Bay of Biscay (France)[END_REF]. The energy output may finally show seasonal intermittency that requires refined investigations to guarantee balanced power output between offshore and nearshore locations, or along the coastline.

The present investigation complements the numerical evaluations of WECs performances in offshore and intermediate waters depths by exhibiting the inter-and intraannual variabilities in the energy produced by a series of devices in real sea conditions. Following previous studies primarily targeted to regions with the highest density of wave power (Tab. 1), the site of application, here retained, is the western extend of Brittany Table 1: Non-exhaustive review of regional and local evaluations in WECs performances based on highresolution numerical wave power assessments. Three WECs are listed (Pelamis, AquaBuOY, and Wave Dragon) whereas these evaluations may consider other devices technologies such as [START_REF] Robertson | Quantifying wave power and wave energy converter array production potential[END_REF] or [START_REF] Fairley | Spatio-temporal variation in wave power and implications for electricity supply[END_REF] that rely on specific power matrices. (France, Fig. 1, Section 2.1), which is one of the most wave energetic region along the coast of France with averaged annual wave power estimated around 40 kW m -1 in offshore waters [START_REF] Guillou | Numerical modelling of nearshore wave energy resource in the Sea of Iroise[END_REF][START_REF] Guillou | Evaluation of wave energy potential in the Sea of Iroise with two spectral models[END_REF]. This evaluation referred to three well-known WECs technologies that were widely considered in the numerical assessments of devices performances and reached the stage of full-scale testing in the marine environment (Tab. 1): Pelamis [START_REF] Henderson | Design, simulation, and testing of a novel hydraulic power take-off system for the Pelamis wave energy converter[END_REF], AquaBuOY [START_REF] Weinstein | Aqua Buoy -The offshore wave energy converter: Numerical modeling and optimization[END_REF], and Wave Dragon [START_REF] Kofoed | Prototype testing of the wave energy converter Wave Dragon[END_REF]. The generated technical power was computed by combining wave scatter diagrams and WECs power matrices that provided, among wave heights and periods, the bivariate distribution of the sea states occurrence and the energy produced by devices, respectively. Wave scatter diagrams were obtained from a numerical evaluation of the wave energy resource, for a eight-year period (between 2004 and 2011) at high-spatial resolutions (up to 300 m in nearshore areas) [START_REF] Guillou | Numerical modelling of nearshore wave energy resource in the Sea of Iroise[END_REF] (Section 2.2). Devices power matrices derived from the publicly available technical data of the three technologies considered (Section 2.3). After an identification of most promising locations for WECs implementation in western Brittany (Section 3.1), the inter-and intra-annual variabilities of the generated technical resource and devices performances were successively analysed and compared, by exhibiting the temporal variations of WECs capacity factors and wave scatter diagrams (Sections 3.2, 3.3 and 3.4).

Longitude

Latitude

Materials and methods

Study area

The western extend of Brittany is a coastal environment, in north-western Europe, that borders the Celtic Sea and the Bay of Biscay with mean offshore water depths between 25 and 100 m (Fig. 1). The coastline consists in a variety of headlands and coastal basins characterised by the two prominent bays of Brest and Douarnenez. This environment is furthermore impacted by (i) strong wave regimes with offshore significant wave heights liable to exceed 10 m in storm winter conditions (Fig. 2-a) [START_REF] Guillou | Numerical modelling of nearshore wave energy resource in the Sea of Iroise[END_REF][START_REF] Guillou | Evaluation of wave energy potential in the Sea of Iroise with two spectral models[END_REF], and (ii) tidal currents of more than 3.5 m s -1 in mean spring conditions (Fig. 2-b) [START_REF] Shom | Courants de marée -Mer d'Iroise de l'île Vierge à la pointe de Penmarc'h[END_REF][START_REF] Guillou | Tidal Turbines' Layout in a Stream with Asymmetry and Misalignment[END_REF][START_REF] Guillou | Characterising the tidal stream power resource around France using a high-resolution harmonic database[END_REF]. This area experiences thus strong interactions between waves and tidal currents [START_REF] Guillou | Modelling impact of bottom roughness on sea surface temperature in the Sea of Iroise[END_REF][START_REF] Guillou | The influence of waves on the tidal kinetic energy resource at a tidal stream energy site[END_REF]. Tidal currents may lead to significant waves refraction and modulation of the incoming direction, resulting in semi-diurnal variations of the significant wave height by nearly 30% in deep waters [START_REF] Guillou | Modelling effects of tidal currents on waves at a tidal stream energy site[END_REF]. Whereas numerous high-resolution numerical assessments of the wave energy resource were conducted along the Atlantic coast of France [START_REF] Guillou | Numerical modelling of nearshore wave energy resource in the Sea of Iroise[END_REF][START_REF] Guillou | Evaluation of wave energy potential in the Sea of Iroise with two spectral models[END_REF][START_REF] Boudière | A suitable metocean hindcast database for the design of marine energy converters[END_REF][START_REF] Gonçalves | Wave energy conditions in the western French coast[END_REF][START_REF] Gleizon | Wave Energy Resources Along the European Atlantic Coast[END_REF], no investigation focused on WECs performances in western Brittany. These evaluations appear, however, fundamental to promote the development of marine renewable energies within a french region that produces only 10% of its electricity consumption [43].

Wave resource assessment

The spatio-temporal evolution of wave power was computed with the phase-averaged wave model SWAN [Simulating WAves Nearshore, 44] set up by Guillou and Chapalain [START_REF] Guillou | Numerical modelling of nearshore wave energy resource in the Sea of Iroise[END_REF], over the period between 2004 and 2011, in western Brittany. The model was implemented on an unstructured computational mesh with a nearshore spatial resolution of 300 m (Fig. 3). This resolution is a bit coarser than the value of 200 m recommended by Davey et al. [START_REF] Davey | Protocols for wave and tidal resource assessment -Equitable Testing and Evaluation of Marine Energy Extraction Devices in terms of Performances (EquiMar)[END_REF] for numerical wave resource assessment. However, this refined spatial resolution was found to be mainly justified in areas with significant spatial variations of the bathymetry such as off the northern coast of Spain and the coast of Portugal characterised, offshore, by reduced footprint of the continental shelf [START_REF] Arean | An integrated approach for the installation of a wave farm[END_REF][START_REF] Iglesias | Wave energy potential along the Death Coast (Spain)[END_REF][START_REF] Carballo | A high resolution geospatial database for wave energy exploitation[END_REF][START_REF] Silva | High resolution local wave modelling in the Iberian Peninsula[END_REF]. In comparison with these environments, the area of interest is characterised by reduced spatial variations of the bathymetry. In order to conduct long-term simulations at reduced computational cost, a spatial resolution of 300 m in the nearshore region was thus retained. The appropriateness of this resolution was confirmed with a comparison of wave predictions with measurements in nearshore waters [START_REF] Guillou | Numerical modelling of nearshore wave energy resource in the Sea of Iroise[END_REF]. This evaluation was consistent with the numerical sensitivity study conducted by Arean et al. [START_REF] Arean | An integrated approach for the installation of a wave farm[END_REF] that exhibited slight differences in spectral wave predictions between spatial resolutions of 250 and 350 m. The wave model adopted furthermore a discretisation of 31 exponentially spaced frequencies ranging from 0.05 to 1 Hz, 30 evenly spaced directions and a time step of 15 min.

The dissipation of wave energy by bottom friction was evaluated in relation to the seabed roughness magnitude parametrised according to the heterogeneous distribution of bottom sediments in the nearshore areas. Numerical simulations incorporated wind velocity components provided by the meteorological model ALADIN ("Aire Limitée, Adaptation dynamique, Développement InterNational, Météo-France) [START_REF] Bénard | ALADIN-NH/AROME dynamical core; status and possible extension to IFS[END_REF]. The wave spectral model integrated furthermore the variations of tidal free-surface elevation and depth-averaged currents predicted by the bidimensional horizontal circulation model TELEMAC 2D [START_REF] Hervouet | Hydrodynamics of free surface flows, modelling with the finite element method[END_REF] set up at an extended computational grid. SWAN was finally driven by wave components (significant wave height, peak period, direction and spreading) extracted from regional Wavewatch III simulations conducted at the scale of the northeastern Atlantic ocean in the context of the IOWAGA (Integrated Ocean WAves for Geophysical and other Applications) project [START_REF] Ardhuin | IOWAGA -WW3 -HINDCAST -North East Atlantic grid -CFSR[END_REF].

Models predictions were finally evaluated against available measurements of the significant wave height H s and the peak period T p at nine locations in offshore and nearshore waters of western Brittany. Further details about model's parameterisation, setup and validation are available in Guillou and Chapalain [START_REF] Guillou | Numerical modelling of nearshore wave energy resource in the Sea of Iroise[END_REF]. The present investigation exploited the predicted distributions of sea states occurrence over H s and T p , and the available wave energy flux per unit crest length P wave , with a time step of three hours at every computational grid nodes.

WEC technologies

The study considered technologies designed for offshore and intermediate mean water depths, over 25 m, setting aside devices for nearshore areas. Following most evaluations of devices performances (Tab. 1), we selected three WECs technologies: (i) Pelamis [START_REF] Henderson | Design, simulation, and testing of a novel hydraulic power take-off system for the Pelamis wave energy converter[END_REF], (ii) AquaBuOY [START_REF] Weinstein | Aqua Buoy -The offshore wave energy converter: Numerical modeling and optimization[END_REF], and (iii) Wave Dragon [START_REF] Kofoed | Prototype testing of the wave energy converter Wave Dragon[END_REF].

Pelamis is an offshore, floating, slack-moored machine that is composed of four semisubmerged cylinders linked by hinged joints and oriented to the wave propagation direction. As waves pass along the length of the device, the different sections of the WEC bend and move relative to one another inducing a mechanical energy that is converted into electricity with power take-off control systems inside the joints. The Pelamis prototype, with a rated power of 750 kW, was selected for the investigation (Fig. 4).

AquaBuoy consists of a floater connected to a large cylinder, opened at both end below the sea surface [START_REF] Wacher | Mathematical and Numerical Modeling of the AquaBuOY Wave Energy Converter[END_REF]. This component, denominated as the accelerator tube, integrates a piston in its center and is connected to the top and bottom vertical extremities with a hose pump. As the buoy oscillates, the hose pump is stretched and compressed, thus discharging a flow of pressurised water to a Pelton turbine that is connected to a electricity generator. The device has a rated power of 250 kW (Fig. 5).

Wave Dragon is a floating, slack-moored device based on the principle of overtopping. The machine consists of two symmetrical reflecting wings that focus the waves towards a ramp. Behind, the overtopping water is collected and driven to a series of Kaplan turbines thus converting the difference of potential energy into electricity. The latest WEC concept, with a rated power of 5.9 MW, was retained here (Fig. 6).

Electricity production

The energy output of a WEC system (expressed in W.h), in a period of time ∆T , is computed as 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 5452 5900 5900 5900 5900 5900 5900 5900 5900 5900 5900 where f ij is the wave energy percentage occurrence and p ij is the power generated by WEC for the i th period class and the j th wave height class. f ij derives from the wave scatter diagram computed over the time period ∆T at the selected location while p ij is reported by the power matrix of the WEC considered (Figs. [START_REF] Lindroth | Offshore wave power measurements -A review[END_REF][START_REF] O'connor | Techno-economic performance of the Pelamis P1 and Wavestar at different ratings and various locations in Europe[END_REF][START_REF] Cahill | Wave energy resource characterisation of the Atlantic Marine Energy Test Site[END_REF]. nper and nhs are the numbers of period and wave height classes considered, respectively. As numerical simulations did not output the wave energy period T e commonly provided by WECs developers, its value was estimated based on the peak period T p as T e = αT p with α a coefficient that depends on the wave spectrum shape. Following [START_REF] Sierra | Assessment of the intra-annual and inter-annual variability of the wave energy resource in the Bay of Biscay (France)[END_REF][START_REF] Cornett | A global wave energy resource assessment[END_REF][START_REF] Pastor | Wave Climate Resource Analysis Based on a Revised Gamma Spectrum for Wave Energy Conversion Technology[END_REF], its value was taken equal to α = 0.9. This corresponds to a standard JONSWAP spectrum with a peak enhancement γ = 3.3. Some uncertainty may thus exist in the approach of the generated wave power. It was estimated, however, that offshore, errors in period were less important than errors in wave height as the wave power density is proportional to T e H 2 s [START_REF] Pastor | Wave Climate Resource Analysis Based on a Revised Gamma Spectrum for Wave Energy Conversion Technology[END_REF]. Power matrices may finally adopt different discretisations among wave heights and periods. In order to reduce the sensitivity of these evaluations to the discretisations of power matrices, the investigation adopted constant intervals of (i) 1 s for wave periods and (ii) 0.5 m for significant wave heights. The performance of WECs was finally evaluated with the capacity factor

E prod = nper i=1 nhs j=1 f ij p ij ∆T (1) 5
C f = 100 P prod P rated (2)
defined as the ratio between the averaged power produced by a device P prod = E prod /∆T and its rated power P rated . This parameter accounts thus for the fraction of the time the energy converter is operating at full capacity. The temporal variabilities of the available wave energy flux, the generated wave power, and the devices capacity factors were finally evaluated with a series of parameters including the minimum and maximum values, and the standard deviation

ST D = 1 n n i=1 (x i -x) 2 (3)
where n is the number of data in the discretised series considered, (x i ) represents the simulated values, and x its mean value.

Results and discussion

Potential locations

Neglecting further considerations associated with the practical, political, environmental issues and marines activities, the implementation of WECs has to satisfy physical constrains based on the mean water depths and the hydrodynamic conditions. Pelamis and AquaBuOY are thus designed for offshore locations, in water depths between 50 and 70 m [START_REF] Bozzi | Wave electricity production in Italian offshore: A preliminary investigation[END_REF][START_REF] Silva | Evaluation of various technologies for wave energy conversion in the Portuguese Nearshore[END_REF][START_REF] Pelamis | P-750 wave energy converter[END_REF], whereas Wave Dragon is planned to operate in intermediate waters, usually between 25 and 40 m [START_REF] Vannuchi | Wave Energy Assessment and Performance Estimation of State of the Art Wave Energy Converters in Italian Hotspots[END_REF][START_REF] Silva | Evaluation of various technologies for wave energy conversion in the Portuguese Nearshore[END_REF]. In order to guarantee secure moorings of devices, currents must furthermore have moderate amplitudes, estimated below 0.5 m s -1 for Pelamis [START_REF] Pelamis | P-750 wave energy converter[END_REF]. In western Brittany, the attention was thus dedicated to areas with mean water depths between 25 and 70 m, and peak tidal currents below 0.5 m s -1 in mean spring conditions, for the three WECs technologies selected. Two databases were considered to apply these criteria. The spatial distribution of the mean water depth derived from the HOMONIM database ("Historique, Observation, MOdélisation des NIveaux Marins", SHOM, Météo-France) that covers the area of interest with a spatial resolution of 111 m [START_REF] Shom | MNT Bathymétrique de la façade Atlantique (Projet HOMONIM)[END_REF]. The amplitude of mean spring tidal currents was obtained from predictions established by Guillou and Chapalain [START_REF] Guillou | Tidal Turbines' Layout in a Stream with Asymmetry and Misalignment[END_REF] relying on a high-resolution three-dimensional tidal circulation model in western Brittany.

Potential locations for WECs implementation were identified in restricted areas, off the Crozon Peninsula and in the bay of Audierne (Fig. 7). Considering marine waterways at the entrance of the bay of Brest and the bay of Douarnenez, a series of five locations was selected for the evaluation of WECs performances: (i) three locations in offshore waters (50-70 m, #1, #2 and #3) for Pelamis and AquaBuOY, and (ii) two locations in intermediate water depths (25-40 m, #4 and #5) for Wave Dragon (Fig. 7 and Tab. 2). No location was retained for Wave Dragon in the bay of Douarnenez that was characterised by weak energetic wave regime during the eight-year period simulated (between 2004 and 2011). These five potential locations exhibited furthermore a reduced variability in the directional distribution of wave power (Fig. 8). Numerical predictions were thus exploited disregarding the incoming wave direction that may influence the performances of WECs, in particular devices designed to capture wave energy in a given orientation.

A refined investigation was conducted to evaluate the parameter WEC op defined as the percentage of time the device was operating over the period 2004-2011 (Table 2). This evaluation was performed by quantifying the number of waves events that produce energy in the three power matrices considered (Figs. 456). At the five locations retained, devices operated thus for more than 84% of the time over the period 2004-2011. Wave Dragon produced naturally the greatest energy in relation to its power rated at 5.9 MW (Tab. 3). The averaged energy generated by a single Wave Dragon device during a year was thus estimated at around 13 GW.h at both locations in intermediate water depths (#4 and #5). This corresponds to the electricity demand of around 2117 houses, by considering an annual consumption of 6.14 MW.h during a year for a house in France [START_REF]Commissariat Général au Développement Durable, Chiffres et Statistiques -Consommations énergétiques des ménages en 2012[END_REF]. The averaged capacity factor of Wave Dragon was furthermore estimated around 25% at points #4 and #5 while it remained below 18%, for Pelamis and AquaBuOY, at offshore locations #1, #2 and #3. Such discrepancy between Wave Dragon and Pelamis was reported by Sierra et al. [START_REF] Sierra | Assessment of the intra-annual and inter-annual variability of the wave energy resource in the Bay of Biscay (France)[END_REF] along the south-western Atlantic coast of France. This investigation, based on wave predictions over 58 years , provided averaged capacity factors between 23.9 and 27.9% for Wave Dragon while being restricted below 16.3% for Pelamis. These averaged estimations of WECs performances depend, however, strongly on the adaptation of devices to the wave conditions at a given location. In offshore waters of northern Galicia (Spain), Carballo et al. [START_REF] Carballo | The intra-annual variability in the performance of wave energy converters: A comparative study in N Galicia (Spain)[END_REF] exhibited thus stronger performances of Pelamis and AquaBuOY. Their 19-year (1996-2014) numerical evaluation of wave conditions reported averaged capacity factors of 27.0% for Pelamis and 26.3% for AquaBuOY. A part of these differences may furthermore be imputed to the temporal variability of the wave climate liable to influence the quantification of the mean wave power and energy output over different periods of time. In western Brittany, the offshore mean wave energy flux was thus estimated at 40 kWm -1 by relying on a 8-year (2004-2011) numerical assessment [START_REF] Guillou | Numerical modelling of nearshore wave energy resource in the Sea of Iroise[END_REF] whereas it was computed at 50 kWm -1 by exploiting predictions over a 23-year (1979-2001) period [START_REF] Mattarolo | Wave energy resource of the French coasts: the ANEMOC database applied to the energy yield evaluation of wave energy converters[END_REF]. A refined comparison of WECs performances can not be well established on temporal averaged parameters, and it is essential to gain further insights about the annual and seasonal variabilities of the generated power (Sections 3.2 and 3.3).

Yearly-averaged performances

As exhibited by Sierra et al. [START_REF] Sierra | Assessment of the intra-annual and inter-annual variability of the wave energy resource in the Bay of Biscay (France)[END_REF], the inter-annual evolution of the wave power, along the south-western Atlantic coast of France, may be characterised by strong variability with differences ratio of up to three between two different years. The medium-term evaluation, conducted in western Brittany, exhibited a part of this variability that may influence the performances of WECs. The annual variabilities of devices performances were thus evaluated by relying on yearly-averaged capacity factors of devices between 2004 and 2011 (Fig. 9). This investigation was restricted to the area off the Crozon Peninsula (points #1 and #4), as similar variations of WECs performances were obtained in the bay of Audierne (points #2, #3 and #5).

Over the area selected, the yearly-averaged performances of WECs (Fig. 9) corroborated differences on values of the capacity factor averaged over the period 2004-2011 (Section 3.1). Wave Dragon was thus characterised by the highest yearly-averaged capacity factors whereas the available wave energy flux at its location (#4) was significantly reduced in comparison with the offshore point (#4), in relation to the dissipation of wave energy by bottom friction in intermediate water depths [START_REF] Guillou | Numerical modelling of nearshore wave energy resource in the Sea of Iroise[END_REF][START_REF] Guillou | Wave energy dissipation by bottom friction in the English Channel[END_REF].

Except for years 2007 and 2008, the capacity factors of WECs followed furthermore the evolution of the available wave wave energy flux. Differences in devices capacity factors were, however, smoothed in comparison with the available wave energy flux. The averaged power produced by Wave Dragon was thus found to vary by 24% between the most (2009) and the less (2010) energetic years while the available wave energy flux exhibited a difference by nearly 40%. Further investigations were conducted, at monthly time scales, to exhibit the filter effects that the power matrices of WECs may have on the generated energy.

Monthly-averaged performances

As exhibited on yearly-averaged quantities (Section 3.2), monthly-averaged variations of the generated wave energy were characterised by smoothed evolutions in comparison with the available power (Figs. 10 and11). This was reported on (i) the seasonal contrast between the winter and summer periods and (ii) the inter-annual variabilities of the winter energetic months. Indeed, the available wave energy flux was characterised by a clear contrast between (i) winter energetic conditions of December, January and February and (ii) summer conditions of June, July and August [START_REF] Sierra | Assessment of the intra-annual and inter-annual variability of the wave energy resource in the Bay of Biscay (France)[END_REF][START_REF] Gonçalves | Wave energy conditions in the western French coast[END_REF][START_REF] Neill | Wave power variability over the northwest European shelf seas[END_REF]. Off the Crozon Peninsula (point #1), the monthly-averaged wave energy flux was thus 6.6 times larger in January than in June (Fig. 10). However, smoothed variations of devices capacity factors were obtained between the winter and summer periods (Fig. 11). This was particularly noticeable for Pelamis whose averaged capacity factors varied between 18.8% in winter and 12.0% in summer at point #1 (Fig. 12-a). Besides these intra-annual variations, the available energy potential, off the Crozon Peninsula, exhibited significant inter-annual variabilities [START_REF] Guillou | Numerical modelling of nearshore wave energy resource in the Sea of Iroise[END_REF][START_REF] Guillou | Evaluation of wave energy potential in the Sea of Iroise with two spectral models[END_REF]. While the available wave energy flux remained nearly stable between April and September, strong annual differences were obtained during autumn and winter, that presented the most energetic conditions. P wave was thus multiplied by 1.9 between February 2010 and 2011, increasing from 44.7 kW m -1 to 84.1 kW m -1 . However, disregarding the month of November that presented a high-power density in 2009, the productions of devices were characterised by reduced inter-annual variations. Over this period, the capacity factor of Pelamis reported thus standard deviations below 5.7% at point #1 (Fig. 11-a). In spite of reduced performances of devices, these smoothed seasonal and inter-annual variations may appear of interest to reduce the intermittency of the generated power at a given location.

A comparison of devices performances was finally conducted by relying on monthlyaveraged values of the capacity factor. Although subjected to reduced energetic sea states in intermediate water depths (point #4, Sections 3.1 and 3.2), Wave Dragon exhibited the highest monthly-averaged capacity factor with values liable to reach 65% in November 2009 (Fig. 11-f). The averaged capacity factor of Wave Dragon was furthermore estimated at 33.1% in winter and 17.3% in summer. The areas located off the Crozon Peninsula were finally characterised by higher capacity factors for Pelamis and AquaBuOY than locations identified in the bay of Audierne (Figs. 12-a and-b). Whereas reduced differences were obtained, in intermediate water depths, for Wave Dragon, these results promote the areas identified off the Crozon Peninsula to develop and implement WECs in western Brittany. Wave Dragon appears thus as an attractive technology to conduct this development, as it exhibited (i) the highest capacity factors and rated powers, and (ii) a design adapted to intermediate water depths with restricted distance from shore and reduced costs associated with electrical cables.

Wave scatter diagrams and power matrices

In order to provide further insights about the annual and seasonal variabilities of the generated power, particular attention was finally dedicated to the evolution of wave scatter diagrams off the Crozon Peninsula, and their correlation with the power matrices of WECs. Highest values of devices generated power were naturally found in conditions of close correlation between wave scatter diagrams and devices power matrices. The averaged wave scatter diagram for the month of November 2009 exhibited such strong correlation, with waves events mainly distributed between (i) energy periods of 9.5 and 12.5 s and (ii) significant wave heights of 3.75 and 5.25 m (Fig. 13). This range of wave periods and heights was in/or at the limit of the maximum operational function of the three WECs considered (Figs. 4, 5 and6). The highest contribution to power output in November 2009, obtained for waves events around T e = 10 s and H s = 4.0 m, reached thus the rated power of Wave Dragon (Figs. 6 and13). This explains the highest capacity factor estimated for this device in November 2009. Whereas these waves events were not representative of the most energetic situations, they contributed to the significant part of energy generation. This confirms the investigations conduced by Sierra et al. [START_REF] Sierra | Assessment of the intra-annual and inter-annual variability of the wave energy resource in the Bay of Biscay (France)[END_REF] who exhibited the restricted effects of energetic sea states on power generation in the Bay of Biscay.

These waves events were, however, more prevalent in winter than in summer that was characterised by an increased distribution of energy periods between 6.5 and 9.5 s, and significant wave heights below 2.75 m (Fig. 14-a). This summer distribution, 15 that was clearly out of the range of maximum WECs efficiency, induced reduced performances of devices. Off the Crozon Peninsula, at point #1, the dominant proportion ( 21%) of summer waves events were thus obtained for T e between 7.5 and 8.5 s, and H s between 0.75 and 1.75 m (Fig. 14-a), which may generate a maximum power of 86 kW (C f = 11.5%) and 25 kW (C f = 10%) for Pelamis and AquaBuOY, respectively. These scatter diagrams provided finally an explanation about the attenuated variations of energy output at annual and seasonal scales. Indeed, in winter, waves events were mainly distributed between T e of 10.5 and 12.5 s, and H s of 2.75 and 4.25 m, and only a restricted part of the available wave energy flux contributed to power generation (Fig. 14-b).

Conclusions

Medium-term predictions of waves conditions (between 2004 and 2011) were exploited to assess the potential locations and the performances of a series of three WECs technologies (Pelamis, AquaBuOY and Wave Dragon) in western Brittany. Besides a simple comparison based on yearly-averaged values, this investigation exhibited the inter-and intra-annual variabilities of the generated powers and capacity factors of devices. The main outcomes of the present study are as follows:

1. Locations of interest for WECs implementation were identified, in offshore and intermediate waters depths, off the Crozon Peninsula and in the bay of Audierne.

According to devices capacity factors, the area identified off the Crozon Peninsula appears the most promising for the preliminary development and implementation of WECs. 2. In comparison with the available wave energy flux that showed high annual and seasonal variations, the generated power of WECs were characterised by smoothed differences in relation to filter effects associated with devices power matrices. These effects were particularly noticeable for Pelamis with a reduced seasonal intermittency in the energy output between the winter and summer periods. 3. The variation of WECs generated powers depends on the correlation between wave scatter diagrams and devices power matrices. The most energetic wave conditions did not contribute significantly to power generation, that was mainly related, in offshore waters, to winter waves events with periods between 10.5 and 12.5 s and wave heights between 2.75 and 4.25 m. 4. While Wave Dragon was implemented in intermediate water depths, between 25 and 40 m, with significant attenuation of the available wave energy flux in comparison with offshore waters, this device provided the highest capacity factors with winter-averaged values estimated at around 33%. Monthly-averaged values were furthermore liable to exceed 65% in November 2009, which is a noticeable capacity factor for WECs.

This investigation provided further insights on WECs implementation in western Brittany exhibiting that high performances may be reached, especially during the winter period, in spite of reduced yearly-averaged values. The inter-and intra-annual variabilities of the generated power are thus to consider to guarantee successful design and deployment of devices in the marine environment. This medium-term evaluation of WECs performances will, however, benefit from long-term assessments of wave conditions exhibiting the variability of the available and generated resources over several decades. Indeed, the evolution in the probability of high energetic events, characterised by higher wave heights and periods, presents clear consequences for wave energy production. In the area of interest, high-resolution numerical modelling may finally be conducted to integrate the effects of wave energy extraction on the wave field and generated powers.

Figure 2 :

 2 Figure 2: Predicted maximum (a) significant wave height over the period 2004-2011 [after 29] and (b) amplitude of depth-averaged tidal currents over a mean spring tidal cycle [after 35] in western Brittany.

Figure 3 :

 3 Figure 3: Overview of the unstructured computational grid for the wave propagation model with a detailed view in the south-western part of western Brittany where WECs implementation is considered (Section 3.1). Coordinates are indicated in metres according to the French system "Lambert II étendu".

Figure 7 :

 7 Figure 7: Areas (in light blue) with mean water depths between (a) 50 and 70 m and (b) 25 and 40 m, and mean spring tidal currents below 0.5 m s -1 . Red circles show the locations #1 to #5 considered for the evaluation of WECs performances. The dotted black lines show the ship routes at the entrance of the bay of Brest and the bay of Douarnenez.

Figure 8 :

 8 Figure 8: Predicted directional distribution of the available wave energy flux per unit crest length at points #1 to #5 over the period 2004-2011.

Figure 9 :

 9 Figure 9: Yearly-averaged (a) available wave energy flux at points #1 and #4 and (b) capacity factors of WECs at points #1 (for Pelamis and AquaBuOY) and #4 (for Wave Dragon). Circles refer to point #1 while triangles refer to point #4.

Figure 10 :Figure 11 :

 1011 Figure 10: (a) Time series of the mean eight-year available wave energy flux with its standard deviation (in vertical lines) at point #1; and (b) yearly time series of the monthly averaged available wave energy flux over the period 2004-2011.

Figure 12 :

 12 Figure 12: Averaged, maximum and minimum monthly-averaged capacity factors in winter (December-January-February) and summer (June-July-August) periods between 2004 and 2011 for Pelamis, AquaBuOY and Wave Dragon at locations #1 to #5.

Figure 13 :

 13 Figure 13: Mean distribution of waves events, over a range of Hs and Te, in November 2009 at point #1.

Figure 14 :

 14 Figure 14: Mean distribution of waves events, over a range of Hs and Te, in summer and winter at point #1.

Table 2 :

 2 Locations considered for the evaluation of WECs performances with (i) mean water depths and (ii) WECop that corresponds to the percentage of time the device is operating and produces energy over the period 2004-2011.

	Location	Coordinates	Mean water		WECop
	number	Lon.	Lat.	depth (m)	Pelamis AquaBuOY Wave Dragon
	#1	4.84 o W 48.19 o N	61.5	88.6%	91.3%
	#2	4.61 o W 47.90 o N	62.2	88.3%	91.4%
	#3	4.46 o W 47.85 o N	56.7	86.6%	90.2%
	#4	4.62 o W 48.18 o N	36.4		85.4%
	#5	4.52 o W 47.95 o N	35.7		84.5%

Table 3 :

 3 Mean available wave energy flux Pmean, mean energy produced by WECs during a year Emean, and mean capacity factor C f at locations #1 to #5 over the period 2004-2011.

	Location	Pmean	Pelamis	AquaBuOY	Wave Dragon
	number	(kWm -1 )	Emean	C f	Emean	C f	Emean	C f
			(GW.h)		(GW.h)		(GW.h)
	#1	28.1	1.03	15.7%	0.39	17.9%
	#2	23.8	0.91	13.9%	0.35	15.8%
	#3	21.8	0.83	12.6%	0.31	14.3%
	#4	18.4					13.1	25.3%
	#5	17.5					12.8	24.8%

Acknowledgements

The present paper is a contribution to the research program DIADEME ("Design et InterActions des Dispositifs d'extraction d'Energies Marines avec l'Environnment") of the Laboratory of Coastal Engineering and Environment (LGCE, Cerema).


S Kazandjian

J Rist

M Weller

F Wiegandt

D Aslitürk

S Grundmann

M Kircher

G Nalin

D Pitters

I Vela Pérez

M Waitz

G Schiwietz

B Griffin

J B Williams

R Dörner

M Schöffler

T Miteva

F Trinter

T Jahnke
email: jahnke@atom.uni-frankfurt.de

N Sisourat
email: nicolas.sisourat@upmc.fr

Frustrated Coulomb explosion of small helium clusters

published or not. The documents may come   L'archive ouverte pluridisciplinaire

Charging a molecule or cluster can lead to a Coulomb explosion as the charged constituents repel each other via the Coulomb force. This widespread phenomenon occurs, for example, as a consequence of stripping off electrons as molecular ion beams traverse a foil [1,2], of multiple ionization induced by Auger cascades [3,4], of multiple ionization by charge transfer [5], free electron lasers radiation [6] or strong femtosecond laser pulses [7,8]. Coulomb explosions have been successfully used to image static molecular [8,9] or cluster structures [START_REF] Zeller | Proc. Natl. Acad. Sci. U.S.A[END_REF][START_REF] Kunitski | [END_REF] and to follow structural changes [12] or electronic transitions [13] in real time.

A peculiarity concerning Coulomb explosions triggered by strong laser fields has been reported almost ten years ago. In a series of publications it has been demonstrated that in strong-field ionization processes, not only charged but also neutral energetic particles can be generated. A first publication by Eichmann et al. reported on a corresponding observation in atoms [14] and a later work extended that concept to the molecular case and the Coulomb explosion process [15]. In that work the occurrence of neutral hydrogen atoms with kinetic energy of several eV was noticed in a 'Coulomb explosion without double ionization'. In all cases the strong laser field is vital for the process: after tunneling ionization the emitted electron is driven back by the laser field and recaptured by its parent ion. Even though the ion is neutralized, it still has the kinetic energy obtained from its previous acceleration in the laser field or from a Coulomb explosion that occurred in the molecular case. As a result, surprisingly energetic neutral particles are emitted and it became obvious that this process, which has been termed 'frustrated tunneling ionization', is actually a very common route in the interaction of strong laser fields with matter.

In the present letter we demonstrate that a related process may occur in loosely bound matter, as for examples clusters bound by the van der Waals forces, even without the need of an external strong laser field. As a charged particle emerges from the inner bulk of a cluster, it may collide with other atoms of the cluster and transfer parts of its kinetic energy to neutral fragments by elastic scattering. This route of energy transfer is routinely considered, especially in case of large clusters or droplets. We report here on another, very efficient, process: if the charged particle passes by another atom of the cluster, the ion can capture an electron from the atom and the charge is thus transferred between the two collision partners. In that case, a charged ion with almost no kinetic energy is generated, while the initially ionized particle is now neutral and possesses the kinetic energy it acquired during its time as an ion. Especially in case of a Coulomb explosion, where ions obtain large amounts of kinetic energy due to the Coulomb repulsion, energetic neutral fragments appear due to this charge hopping scenario. It should be mentioned that the charge hopping process has been already investigated in the case of singly-ionized helium droplets, leading to He + 2 formation. However, in the latter case the charge hopping is a purely electronic process since it is faster than the nuclear motion [16,17]. In the present case, nuclear motion is fast due to Coulomb explosion and the charge hopping does not lead to He + 2 but to a fast neutral atom and a slow ion.

In order to investigate a possible occurrence of this 'aborted' or 'frustrated' Coulomb explosion, a shake-up ionization of small helium clusters of size m (m < 5) to the (n = 2)-excited states and subsequent Interatomic Coulombic Decay (ICD) [18][19][20] is triggered employing synchrotron radiation of hν = 66.4 eV photon energy:

He m hν -→ He + * m (n = 2) + e - ph (1)
As ICD occurs, electronic excitation energy is transferred from the excited atom to one of its loosely bound neighbors, which emits the received energy by releasing a second electron [21][22][23]. After the process, two positive charges are facing each other and the system fragments rapidly in a Coulomb explosion. Due to the weak van der Waals binding, the strong acceleration by the Coulomb explosion, and the overall small cluster size, the resulting ionic fragments typically consist of single atoms instead of larger fragments:

He + * m (n = 2) ICD --→ He + + He + + He m-2 + e - ICD (2)
In case of helium dimers this ICD-route has been investigated in large detail by experiments and in theory [13,[24][25][26][27]. From these studies the expected ion kinetics are well known. Because of the weak binding forces, it can be expected that the fragmentation into two singly charged He ions and a residual neutral cluster should lead in principle to very similar kinetics, which are dominated by the Coulomb explosion of the two He + ions. Accordingly, the combination of shake-up ionization and subsequent ICD is a suitable tool to introduce two charges in a cluster in a very well defined manner and investigate the dynamics of the cluster fragmentation.

In this combined experimental-theoretical study, we employed a Cold Target Recoil Ion Momentum Spectroscopy (COLTRIMS) setup [28][29][30] in order to investigate the ejection of He + ions from small He clusters. The experimental setup was similar to the one described in [24]. Briefly, a supersonic gas jet (precooled to approx. 8 K) was intersected with photons (hν = 66.4 eV) from the synchrotron lightsource BESSY II in Berlin [31]. Charged fragments (electrons and ions) created in a photoreaction were guided by weak electric and magnetic fields towards two time-and position-sensitive particle detectors [32]. By measuring the flight times and the positions of impact on the detectors, the particle trajectories inside the COLTRIMS spectrometer were reconstructed yielding the initial vector momenta of all charged particles. The ion arm of the spectrometer consisted of a short acceleration region of 3 cm length, while the electron arm incorporated a Wiley-McLaren timefocussing scheme [33] consisting of an acceleration region (5 cm) with an electric field strength of 6 V/cm and a field-free drift region (10 cm in length). A superimposed homogeneous magnetic field (7 Gauss) yielded a full solid angle of detection of electrons of up to 15 eV kinetic energy. By measuring the momenta of all emitted electrons and ions in coincidence, reactions of clusters in which ICD occurred were discriminated from He monomer reactions. Furthermore, the emission angles in the laboratory frame of all particles are deduced from the measured momenta and from these relative emission angles between detected particles can be inferred, as well. By changing the He stagnation pressure and the gas nozzle temperature, the condensation properties of the supersonic expansion can be adjusted such, that apart from monomers (i.e. helium atoms that do not condensate at all) the condensed part of the gas jet is mainly a mixture of He 2 and He 3 or e.g. a mixture of slightly larger clusters (He 3 , He 4 ).

The ICD process and the subsequent Coulomb explosion were simulated with a semiclassical approach combined with a diatomics-in-molecules (DIM) technique. Both are described in detail in [34] and [35], respectively. In brief, the motions of the nuclear quantum wave packets are replaced by a swarm of classical trajectories. Each trajectory propagates on the potential energy surface of one of the excited states until a decay condition is met [34]. After the decay, the trajectories are further propagated on the potential energy surface of one of the doubly ionized states. Each trajectory can hop from one surface to another according to a Landau-Zener probability (see [36]). Furthermore, a Mulliken population analysis is performed on the DIM eigenvectors to obtain the charge of each atom along the trajectories. The initial conditions are obtained according to the He m ground state nuclear wave functions by Rick et al. [37], and the starting potential energy surface is drawn uniformly among all the He + * m electronic excited states. The energy gradients and the ICD rates needed for the propagation are obtained from the DIM technique [35]. The diatomic energies and the ICD rates of He + * 2 (2p) states were taken from [38]. He + * 2 (2s) states were neglected since they contribute less to ICD [25]. For computing the final states, the energies of the lowest states of He + 2 were taken from [39] and we used a Coulombic potential for each pair of He + -He + as these are valid for all ICD-relevant distances [38]. The He-He fragment potential energy was taken from [40]. The experiment has a constant momentum resolution, and hence an energy resolution which depends linearly on the measured energy. In order to emulate this energy resolution, our theoretical spectra have been convoluted with a Gaussian function with an energy-dependent width.

Figure 1 depicts a coincidence map of ion kinetic energies occurring after the shake-up ionization and subsequent ICD. A good agreement between the simulation and the experiment is seen. The map can be divided into three parts: a narrow diagonal feature, weak and continuous vertical/horizontal lines for one ion kinetic energy ) events where one of the ions was detected with low kinetic energy (see text). The white, dashed line in a) shows the deflection-angledependent energy loss of a perfect elastic scattering event of an ion with an initial energy of 3.9 eV colliding with a neutral He atom initially at rest.

Energy of ion 1 [eV]

features observed in Fig. 1, we show in Fig. 2 a) the energy of one of the ions versus the relative angle between both measured ions. Here we show the experimental data, which is well reproduced by the calculations (not shown). The most intense feature results from emission with a relative angle of 180 • between the two ions. These events belong to an undisturbed (i.e. dimer-like)

Coulomb explosion. Furthermore, a curved line occurs (highlighted by the white, dashed line): a classical binary collision leads to a distinct energy transfer, which is (for a fixed initial energy) solely dependent on the scattering angle after the collision. Such a dependency has been seen recently in [41] and such elastic scattering processes have been identified previously already by Shcherbinin et al. They observed an energy loss appearing in the kinetic energy distributions of the ions generated after ICD in large helium clusters (between 1200 and 27000 atoms) and suggested an elastic collision mechanism (one ion transfers its kinetic energy to a neutral atom) in order to explain its occurrence [42]. Finally, there is an island at ion kinetic energy around 4-5 eV and emission angles between 120 • and 180 • . This broad feature survives when restricting the dataset to events where one ion has a kinetic energy close to zero, as demonstrated by Fig. 2 b). These are events of frustrated Coulomb explosion as we demonstrate below. We examined the trajectories of ions of such events using our theoretical model. One characteristic example of such trajectories is described here: initially, as ICD occurs, the two ions (labeled (a) and (b)), are generated at an interatomic distance of 1.6 Å (which is the inner turning point of the He + * 2 (2p) dimer potential). A third, neutral, atom, denoted as (c), is located at 5.0 Å from ion (b) and 2.1 Å from the (a)-(b) internuclear axis. The upper panel of Fig. 3 shows the temporal evolution of the charge of these particles. During the first thirty femtoseconds, the two ions repel each other with no influence from (c). Then, as (b) gets closer to (c), the positive charge is delocalized over the two atoms. At t = 44 fs, which corresponds to the isosceles geometry with equal (ab) and (ac) distances, both atoms bear the same partial charge of 0.5. From t = 44 fs onwards, the charge of (b) decreases and becomes zero at around t = 60 fs. The charge is thus transferred and the two particles (a) and (c) are ions from now on. Additionally, the lower panel shows the change of the kinetic energy of these particles over time. It depicts, that the charge transfer takes place with almost no exchange of kinetic energy between (b) and (c) (less than 0.3 eV). After the charge transfer, the neutralized particle (b) keeps a nearly constant kinetic energy. On the contrary, now (a) and (c) repel each other due to their Coulomb repulsion. As (a) is much faster than (c) and the kinetic energy scales with the square of the velocity, (a) gains the majority of the available energy from this repulsion and reaches up to 5.0 eV kinetic energy during the whole process. Note that this is even more than what can be gathered from a two-body Coulomb explosion starting at 1.6 Å. This extended energy range is well confirmed by the experiment and the theory as shown in Fig. 1 where the non-diagonal part of the correlation spectra reaches ion kinetic energies up to 5.5 eV while the diagonal part does barely exceed 4.5 eV.

Finally, we show in Fig. 4 the computed energy of the neutral atom as a function of that of the faster ion. A nearly diagonal feature is recovered since, as shown above, there is only a weak exchange of kinetic energy during the charge hopping process. After the frustrated Coulomb explosion, neutral helium atoms with kinetic energies up to 4.5 eV are formed.

To conclude, our theoretical and experimental study shows the occurrence of a charge hopping process during a Coulomb explosion of a small He cluster which leads to energetic neutral particles (with energies of several eV). Since the charge hopping probability increases with the cluster size, multiple charge transfers are thus possible for larger clusters and the neutral atoms might as a result gain the majority of the available kinetic energy. It is expected that this process is a very common route of fragmentation of loosely bound matter.

Energy of faster ion [eV]

FIG. 1 .FIG. 2 .

 12 FIG. 1. Coincidence map of ion kinetic energies occurring after the shake-up ionization and ICD. a) Theoretical results for He3, b) measured distribution using a mixture of small clusters consisting mainly of He3.

FIG. 3 .

 3 FIG. 3.Upper panel: temporal evolution of the charges during a Coulomb explosion between the ions (a) and (b), with (b) transferring its charge to a neutral atom (c). Lower panel: kinetic energies of the three involved particles. The horizontal line at a kinetic energy of 4.5 eV corresponds to the asymptotic energy of the ions after a two-body Coulomb explosion.

25 FIG. 4 .

 254 FIG. 4.Computed energy distribution of the neutral He atom as function of the kinetic energy of the faster He + ion.

ACKNOWLEDGEMENT

This project has received funding from the Research Executive Agency (REA) under the European Union's Horizon 2020 research and innovation programme Grant agreement No. 705515 and from Agence Nationale de la Recherche through the program ANR-16-CE29-0016-01. R.D., J.R., N.S. and T.J. acknowledge funding from the Deutsche Forschungsgemeinschaft (DFG) as part of the DFG research unit FOR1782/II.


Sebanjila K Bukasa
email: sebanjila.bukasa@inria.fr

Ronan Lashermes
email: ronan.lashermes@inria.fr

Jean-Louis Lanet
email: jean-louis.lanet@inria.fr

Axel Leqay
email: axel.legay@inria.fr

Let's shock our IoT's heart: ARMv7-M under (fault) attacks

Keywords: Physical attacks, Fault injection, Electromagnetic Fault Injection (EMFI), Microcontroller, Backdoor, Buffer Overflow, Vulnerability Insertion, Return Oriented Programming ACM Reference Format:

A fault attack is a well-known technique where the behaviour of a chip is voluntarily disturbed by hardware means in order to undermine the security of the information handled by the target. In this paper, we explore how Electromagnetic fault injection (EMFI) can be used to create vulnerabilities in sound software, targeting a Cortex-M3 microcontroller. Several use-cases are shown experimentally: control flow hijacking, buffer overflow (even with the presence of a canary), covert backdoor insertion and Return Oriented Programming can be achieved even if programs are not vulnerable in a software point of view. These results suggest that the protection of any software against vulnerabilities must take hardware into account as well.

INTRODUCTION

Internet-of-Things (IoT) devices are embedded devices with network connectivity. This definition embrace a wide range of devices, from a scale uploading daily your weight to a server, to an automated vacuum cleaner controlled by a smartphone, passing by a drone able to follow you when you are running and taking pictures or a smart watch containing your credit card informations. IoT devices can be wearable or transportable, leading them to interact with an unfriendly environment. The attackers have physical access to them.

In this paper, we evaluate if such devices can withstand physical attacks. Physical attacks are mainly divided between two categories: Observation Attacks (OA) where the attacker only observes (measures) the environment of the target, and Fault Attacks (FA).

FA are now a well-known class of physical attacks where a device undergoes physical parameters' modification in order to obtain an incorrect behaviour. Most classical hardware fault injection means are power glitches, clock glitches, laser pulses and electromagnetic pulses, the last technique being used in this paper. To inject a hardware fault, in most cases, it is necessary that the attacker has a physical access to the device. Counterexamples where hardware faults are generated with pure software are presented in section 2.

FA have been shown extremely efficient against cryptography, e.g. the Bellcore attack [START_REF] Biham | Differential fault analysis of secret key cryptosystems[END_REF] requires any fault, at the correct time, on an RSA-CRT signature to recover the secret. Therefore nowadays no cryptographic algorithm can be seriously published without an assessment of its sensitivity to faults attacks. But cryptography is only a small fraction of the possible applications in embedded devices. And the security of any system does not rely solely on cryptography.

The evaluator attacker model is used: in particular synchronization is achieved using a trigger signal directly issued by the targeted chip. We acknowledge that going from Proofs-of-Concept to real attacks on real devices is not straightforward (mostly because of the difficulties to achieve synchronization) but it is not a stretch to imagine that well funded attackers, or more advanced techniques would see such attacks becoming a reality.

In this paper we explore possibilities to create software vulnerabilities with hardware fault injection (with EM pulses), not on cryptography but targeting regular software running on IoT devices. These use-cases are demonstrated experimentally on an ARMv7-M (Cortex-M3) microcontroller which is present at the heart of a wide-range of embedded systems.

These examples intend to prove that a fault attack is able to create a vulnerability in a code where there is none in the usual software security meaning. Protecting against vulnerabilities must encompass protecting against both software and hardware attacks.

In order to prove our results and ease their reproducibility, we are publishing our source codes, our data etc. on a git repository available at https://gitlab.inria.fr/rlasherm/ARMv7M-underattacks. Licenses are MIT for software and CC-BY-4.0 for nonsoftware.

This paper is organized as follows. A review of other works on similar topics is presented in section 2 to show how our own work is articulated with them. Then the fault injection process is presented in section 3: the experimental setup, how data is recovered and the assumed fault model are discussed. The core of our work is presented in section 4. The results of fault attacks achieving different effects are presented and discussed. Finally the conclusion is drawn in section 5.

PREVIOUS WORKS

Fault injection is not a novel technique. It was first used to simulate the effect of radiation (of cosmic or nuclear origin) [START_REF] Habing | The Use of Lasers to Simulate Radiation-Induced Transients in Semiconductor Devices and Circuits[END_REF] in the 60s. In order to ensure that a chip could withstand the harsh conditions of space, they were tested under a laser to prove their resilience to radiation. In parallel, techniques were invented to have a better resilience: error detecting/correcting codes, adding redundancy... The use of fault attacks against cryptography originated in 1997. This year, two papers [START_REF] Biham | Differential fault analysis of secret key cryptosystems[END_REF][START_REF] Boneh | On the Importance of Checking Cryptographic Protocols for Faults[END_REF] showed how an attacker could harness a fault to recover a cryptographic key. From this date, all cryptographic algorithms must be evaluated with respect to their sensitivity to fault attacks.

Consequently, fault attacks are mostly explored along two research directions. Cryptographers are mainly interested in theoretical fault attacks: "Is an implementation secure with respect to a particular fault model?" [START_REF] Bouder | On Fault Injections in Generalized Feistel Networks[END_REF]. Whereas the experimental side evaluates the fault models and validate some theoretical attacks in practice [START_REF] Dureuil | From Code Review to Fault Injection Attacks: Filling the Gap Using Fault Model Inference[END_REF].

Fault attacks have been used in the past targeting chips similar to our target, namely Cortex-M3 (or closely related Cortex-M4) microcontrollers and mainly targeting cryptographic algorithms.

Underfeeding, clock glitches and Electromagnetic fault injection (EMFI) rely on the same fault mechanism, timing violation. In [START_REF] Bhasin | Security evaluation of different AES implementations against practical setup time violation attacks in FPGAs[END_REF], the authors characterize this mechanism on a FPGA with underfeeding.

Barenghi et al. demonstrated a fault attack on an AES running on Linux with a constant underfeeding in [START_REF] Barenghi | Low voltage fault attacks to AES[END_REF]. By lowering the feeding voltage, faults started to appear. They showed that some instructions are more sensitive than others. In their case, LOAD instructions were more easily faulted.

EMFI has been demonstrated effective against cryptography in [START_REF] Dehbaoui | Electromagnetic Transient Faults Injection on a Hardware and a Software Implementations of AES[END_REF]. All instructions could be skipped. The setup proposed in this paper has become the de-facto method to perform EMFI, as described in section 3.

What faults can be achieved and what is the fault model is an active area of research. In [START_REF] Moro | Electromagnetic Fault Injection: Towards a Fault Model on a 32-bit Microcontroller[END_REF][START_REF] Moro | Experimental evaluation of two software countermeasures against fault attacks[END_REF], Moro et al. demonstrate instruction skips (1 skip for 32-bit instructions and 2 consecutive skips for 16-bit instructions) achieved with EMFI. The fault mechanism description proposed in this paper is the most accurate to date (details in section 3.3). The authors evaluate assembly-level countermeasures and show that they are efficient to protect a specific routine but are less efficient to protect the codebase as a whole (here FreeRTOS).

In [START_REF] Rivière | High precision fault injections on the instruction cache of ARMv7-M architectures[END_REF], the authors demonstrate another mechanism to achieve faulty behaviours with EMFI. By targeting precisely the instruction cache, they were able to obtain a high reproducibility of the faults. Since several instructions are handled by the cache at the same time, they showed that up to 4 consecutive instructions can be skipped, undermining the single instruction skip fault model.

Confirming the power of fault attacks, Kelly et al. in [START_REF] Kelly | Characterising a CPU fault attack model via run-time data analysis[END_REF], evaluate the fault model on an Atmel ATtiny841 microcontroller with laser fault injection. They stress out that if some fault is achieved once, there always exists a set of parameters that is able to repeat it, even if not in 100% of the cases. Faults are not random. Consequently, double or more faults during an execution is neither hard nor more expensive.

FAULT INJECTION PROCESS 3.1 Experimental setup

Experiments have been performed in our laboratory. The targeted board is an STM32VLDISCOVERY board with an STM32F100RB chip, embedding an ARM Cortex-M3 core running at 24MHz (41.7ns period).

Fault injection is performed with a signal forming chain consisting in a Keysight 33509B pulse generator, a Keysight 81160A signal generator and a Milmega 80RF1000-175 power amplifier. The created powerful signal is connected to a Langer RF probe RF B 0.3-3 located on the targeted chip.

In order to launch a fault injection, a synchronization signal (a trigger) is sent by the targeted chip General-Purpose Input/Output (GPIO) (controlled from the code) directly to the 33509B pulse generator. This experimental trick, possible when the attacker has control of the code (i.e. never but for vulnerability assessment) is not mandatory. Other synchronization possibilities include sniffing communications with the target or measuring its EM emissions to find a relevant pattern.

The location of the probe on the chip was chosen after a scan that determined the most sensitive area on the chip. The same location was kept for all experiments.

Synchronization is the main experimental difficulty with our target. An irreducible latency of 600ns is added by our fault injection platform between the input trigger and the EM pulse.

The Sparkbench [START_REF] Lashermes | Sparkbench[END_REF] software was used for the fault injection (open source, MIT license, see in reference). It is in charge of controlling the apparatus, orchestrating the commands to the target, retrieving the results and processing them. It includes a way to reset the target upon a crash and more generally to deal with errors that occur during a fault injection campaign.

Instrumentation

The targeted chip is compatible with OpenOCD [START_REF]OpenOCD[END_REF], a tool that allows a debug access to the chip through a JTAG interface. In particular, it is possible to set breakpoints (the chip halts if a particular memory address is about to be executed), and to arbitrarily read in memory.

This tool was used to infer the behaviour of the chip upon a fault. Unfortunately, only partial information is available to us, there is no way to trace all previously executed instructions to the best of our knowledge.

When temporally scanning the chip (the injection timing sweeps over a predefined range) crashes occur frequently. OpenOCD allowed us to verify that these crashes were always explainable by software modifications e.g. reading in memory outside of the RAM boundary (invalid address) or jumping to an address not corresponding to a valid program.

Sparkbench was configured to issue a report upon a crash. This report include the timing of the crash, the Stack Pointer (SP), and the Program Counter (PC) causing the software fault (in the ARM hard fault meaning). It was used to get a feedback on the memory location of the fault, but approximately, since the software fault often occurs after the hardware one. E.g. if the stack is corrupted by a fault injection (hardware fault), the program may still run for a few instructions before reaching a point where the corrupted stack provokes an incorrect value to be loaded into the PC (software fault).

Unobservability of the fault model

The effect of a fault on the chip is of critical importance both for the attacker and for the defender, it is the so-called fault model. A detailed fault model as been proposed for our targeted chip in [START_REF] Moro | Electromagnetic Fault Injection: Towards a Fault Model on a 32-bit Microcontroller[END_REF]. Moro et al. explain that timing based fault injection (EMFI included) is able to modify the instruction fetched. If the new instruction has no side effect, a virtual nop (No-operation, an instruction that does nothing) is obtained that cannot easily be differentiated with a true nop. If the new instruction has side effects, the result can be unpredictable.

It is important to notice that to establish this fault model, the observability difficulties are balanced by the controllability. I.e. since it is not possible to observe in details what is happening at the microarchitecture level, the authors carefully put the chip in the desired state (e.g. using nops to have an empty pipeline) to retroactively deduce the fault mechanism.

To our knowledge there is no better way to establish a detailed fault model on this chip. In particular it is not possible to know what instructions have really been executed upon a fault (execution traces are branch traces only). Yet it is also unsatisfying: what guarantee is there that another undocumented behaviour is exhibited if the chip is in another state (behaviour already proved in [START_REF] Domas | Breaking the x86 ISA[END_REF])?

The evaluator is left with a choice: either force the chip state to explain some of the fault mechanisms or do not alter the chip state, allowing all faulty behaviours, but leaving her unable to explain the fault mechanism.

If most previous works chose the first path [START_REF] Dureuil | From Code Review to Fault Injection Attacks: Filling the Gap Using Fault Model Inference[END_REF][START_REF] Moro | Electromagnetic Fault Injection: Towards a Fault Model on a 32-bit Microcontroller[END_REF][START_REF] Rivière | High precision fault injections on the instruction cache of ARMv7-M architectures[END_REF], here the second one has been taken. As seen in section 4.2, complex behaviours did arise. Yet as unsatisfying as it is, it becomes impossible to explain precisely some fault mechanisms since we cannot trade controllability for observability.

In this paper, the details of the fault mechanism leading to the observed behaviour is not explained since it is impossible without altering the targeted software. Which, in the end, is an explication of the fault mechanism for another target program. The reader is referred to [START_REF] Moro | Electromagnetic Fault Injection: Towards a Fault Model on a 32-bit Microcontroller[END_REF], for a plausible fault model for this exact same chip.

FAULT ATTACKS

In this section, we will demonstrate how to create vulnerabilities in a sound codebase with fault injection. Several use-cases have been experimentally implemented to illustrate the kind of vulnerabilities it is possible to achieve with fault attacks on real-world devices. Each scenario is based on well-known attacks scheme, and fault injection is a mean to activate a vulnerability. From the C code on listing 1, the normal behaviour is for status to be equal to 0xFFFFFFFF after its execution. Our goal is to follow the "else" branch instead (we detect status equal to 0x55555555 and correct still equal to 1).

Controlflow hijacking

Upon a correct fault, we reach an incoherent program state (that should not be reachable).

Attack results.

To perform our attack, as in the other cases, we insert a triggering method just before our area of interest. The search for the correct parameters is done semi-automatically: first interesting parameters (that crash the target) are found for the number of pulses, the pulses period, width, leading and trailing edges duration, and the pulse amplitude. Then we scan the chip with a XY stage to detect the most sensitive location. In front of the number of parameter dimensions to explore, a part of the work depends on the experience of the operator to find the correct parameters.

In the end a set of parameters is found that trigger the expected behaviour. The signal sent to the EM probe is a train pulse with 15 pulses (period 3.1ns, width 1.6ns) with a -9dBm amplitude before the amplifier.

Faulty outputs (status=0x55555555) are observed for 10% of the executions during ≈ 200ns (the timing of the fault injection varies), or ≈ 5 instructions. Possible explanations are: several instructions may be faulted and giving the same faulty behaviour, a fault may be effective at different stage of the pipeline for a same instruction.

As discussed in section 3.3, it is not possible to precisely explain what is happening in the chip after a fault injection without altering the target program (and in this case we explain the fault behaviour for another program).

Consequences.

This very simple pattern shows that with a fault attack, we may modify the control flow of our program dynamically, and even reach an incoherent state (that should not be reachable). Actually this pattern is already taken into account in the design of Verify PIN algorithms where fault attacks have been, rightly, considered a threat.

What this pattern reveals is that any branch in the code can be hijacked, easily leading to the compromise of the system. All branching must be protected or demonstrated innocuous.

Buffer overflow

Description.

A buffer overflow is achieved when data is written outside the boundaries of the destination buffer during memory handling, leading to values written to adjacent memory locations. Here an attacker which can only access some variables can copy informations from internal unknown variables to readable ones.

Considerable effort have been devoted to mitigate this class of attacks in the past. In this use-case, it is demonstrated that a buffer overflow vulnerability can be created in a sound program with a fault attack.

Two different buffer overflows have been attempted. In the first attack (hereafter called BO1), the targeted value key is located close to the buffer written to (text). In a second attack (BO2), the two values are separated by a canary: a special buffer that issues an error if modified. The layout can be seen on listing 3.

Listing 3: Memory layout targeted by the buffer overflow char text[n]

; // n=128 for BO1, n=8 for BO2 char canary [START_REF] Domas | Breaking the x86 ISA[END_REF] ; // BO2 only unsigned char key [16] ;

The targeted function is a strncpy that copy data from a big buffer called big_text filled with a distinctive pattern (01 02 03 04 ...) to text with the correct size parameter n. Our objective is to modify the key by disturbing the correct strncpy behaviour.

Listing 4: Assembly code for strncpy call mov r2, r5

; pass n as argument (in r2) mov r0, r6

; get destination (text) address (in r0) ldr r1, [pc, #24] ; get source (big_text) address (in r1) bl 8004770 <strncpy>; call strncpy procedure As can be seen on listing 4, if the instruction loading the n argument could be replaced by a nop, then the actual n value will depend on the value of the r2 register at this call. If the new value is bigger than the previous one, a buffer overflow becomes possible. But if this new value is bigger than the source buffer, our memory will be filled with zeros according to strncpy documentation. But fault attacks allow us to modify any instruction, so we can also try to alter source or destination addresses.

Attack results

. First, we confirm that preventing the proper loading of the size limiting argument (n) does not work. A nop was achieved, but the value stored in r2 was an address (0x2000xxxx) and as specified in the documentation n bytes are always written to the destination buffer. First the source buffer, then a null padding. The fault, in fact wiped out our RAM, triggering a crash (probably by writing to unmapped addresses).

By methodically tuning the delay parameter in order to fault successively various instructions, a faulty ciphertext was finally found. OpenOCD was used, as explained in section 3.2, to observe the memory at the text and key locations. Figure 1 shows the result.

It shows that n was not modified. Instead, the destination address was altered and the big_text buffer was written at the wrong location (16 bytes shift). Finally, the key was overwritten at the end of the buffer. A buffer overflow was achieved.

A buffer overflow is usually achieved by modifying the number of bytes written. Here the destination address is modified. This fact motivated our second BO2 campaign, where a canary is present in memory to detect buffer overflows. This canary is manually implemented in this case, but nowadays compilers are able to place them automatically, often at stack frame boundaries. In our application, if the canary is modified, the key is erased to 0 which can easily be detected by our platform.

The BO2 campaign explored a big timing range to see what effect could be achieved. The most important point is that the key is not used in any way by the targeted function (strncpy), only text which is close in memory.

The results show that the canary has been modified in numerous cases, thus the attack failed in these cases. But faulty results were achieved nonetheless. Using OpenOCD, the key value was observed: the first word was replaced by either 0x08000000 or 0x00008000 depending on the fault injection timing. This is not the result of a misplaced buffer, but the exact cause of this error is still unknown. It is reminded that the targeted code does not handle memory at the key address, it cannot be explained by a fault at the decode stage on a load instruction.

Consequences.

Unlike pure-software buffer overflows, it is possible with hardware fault injection to modify the size of the memory copy but also to alter the destination address. It has been demonstrated that it can jump over a canary, a classic countermeasure against buffer overflows. Yet the EMFI does not allow a good control on the fault effect.

Fault activated backdoor

4.3.1 Description. In this use-case, it is supposed that a malevolent insider (with access to source code) tries to add a backdoor into a cryptographic application. In order to not be detected by static analysis tools, the backdoor payload cannot be accessed normally by the code (no branch leads to the payload, it cannot be normally executed). As dead code, it can be detected as such but it can also be hidden as data. Yet a precisely timed fault injection is able to activate the payload.

The backdoor is split in two parts: the payload copies the key into the ciphertext buffer. The backdoor trigger (cf listing 5) is an (almost) innocent looking code that can launch the payload upon a fault injection. The backdoor trigger compiles to the assembly code show on figure 6 (only the end of the function is shown).

Listing 6: Backdoor trigger (assembly) ... 80005ca: bd80 pop {r7, pc} 80005cc: e00be00c

.word 0xe00be00c

This backdoor trigger lies in the fact that the ARMv7-M interleaves data and code if a data too big to be embedded in an instruction is used. Thus 3758874636 corresponds in fact, if executed, to two instructions that jump to the backdoor: e00b e00c. A fault instruction able to avoid the blink_wait return instruction at address 0x80005ca implies that the data at 0x80005cc is executed. A covert backdoor trigger is obtained. In our program the backdoor payload is in plain sight, but one could imagine sneakier ways to hide it.

Attack results

. With an injection timing of 2.116µs, the attack succeeded with a low success rate of 4%, in the other 96% nothing happened and the result was correct.

The value 00112233445566778899AABBCCDDEEFF (key value) is observed as the ciphertext when the backdoor has been triggered. To verify the backdoor trigger was responsible for the backdoor call, a hardware breakpoint was placed at address 0x80005cc which is normally a data (and so never executed). As expected, on a successful fault injection the breakpoint did halt the execution and a "step" in debug mode did show a jump to the backdoor. The triggering path has been validated. Unfortunately, we have no way to be sure that a nop is indeed responsible for the data execution at 0x80005cc.

But something else, strangely, did appear during the experiments. At 2.268µs, a faulty value 279FB74A445566778899AABBCCDDEEFF is observed (first word is correct ciphertext, the 3 other words correspond to the key). To investigate, a breakpoint was placed at the end of the backdoor payload. Indeed this breakpoint was reached. By reading the memory at this point, part of the program path leading to the backdoor payload was reconstructed. The backdoor trigger was not responsible but in a neighbouring part of the code, an address corresponding to the middle of the backdoor was found in the stack. A stack corruption leads to a jump to this location through a pop {..., pc}. How this address ended up in the stack is still a mystery (and unfortunately cannot be explained cf section 3.3).

Consequences.

With this use-case it has been showed that a backdoor may be hidden in an inert part of the memory. As such, static analysis tools cannot detect this vulnerability with information flow analysis. This vulnerability is a reminder of the well known problem of executable data. Usual protection may be efficient in this case apart for the peculiarity of ARMv7-M to interleave some data with executable code.

Return Oriented Programming

4.4.1 Description. In this use-case, a Return Oriented Programming (ROP) exploit is demonstrated. From her knowledge of the binary, an attacker tailors her own program by imposing her control flow graph on top of existing code. It becomes possible to take full control of a targeted device, including execution of privileged instructions. If the binary is big enough, code sections with a useful behaviour will always be present. ROP allows to use these sections and to chain them in a useful manner to achieve the desired behaviour and minimize side effects. These pieces of code are called "gadgets". Their common particularity is that they include a useful behaviour for an attacker, and the sequence of instructions finishes by a return. There are two different ways to "return" in ARMv7-M, namely bx lr or pop {...,pc}, the first one takes into account the Link Register (LR) whereas the second take values from the stack. The second class of return is the most practical in our case, because with full control on the stack it is easier to pop from stack than to assign a value to LR. This attack is interesting for an attacker because it allows to use existent code to create a different behaviour, thus keeping static integrity. In listing 7 registers r2, r5 and lr are filled with values from the stack, then the last pop is a branch by filling the PC register with the next stack value.

If the attacker is able to branch to a controlled part of the stack, she can then use values that will call gadgets and then return to the stack. The challenge here is to gain control of the stack and fill it with the right values, to activate the ROP. As the attacker only manipulate addresses there are no modifications on the source code itself. But she must know all exact addresses and necessary values to fill correctly the stack.

The ROP goal is to copy the key value into the ciphertext buffer then to hand over to the normal control flow (similar to the backdoor scenario). So when reading the ciphertext after a successful fault injection, the key is read instead.

Attack results.

Activating the ROP has some prerequisites. First of all, the stack must be filled with the ROP data (the branches to gadgets) and the SP correctly positioned.

In our setup, the stack has been filled at the current stack pointer with the adequate values. In a real attack, this part may be tricky. As our test application is not big enough, some gadgets where missing. In particular, the first one has to be manually added: it saves the LR required to return to the normal program flow after the attack. Then it sets the PC from a value in the attacker controlled stack to the next gadget.

The ROP activation happens when the program flow reach a function preceding the first gadget in memory as shown in listing 8. Instruction at 0x80003dc is skipped.

A NOP is present in listing 8 to illustrate difficulty with fault injection. As clearly explained in [START_REF] Moro | Electromagnetic Fault Injection: Towards a Fault Model on a 32-bit Microcontroller[END_REF], the fetch stage always load 32bits of instruction (here corresponding to two instructions). Hence a fault may alter two instructions simultaneously depending on the alignment of the instructions, increasing the probability to get a crash. Indeed in our first experiments, the alignment was not correct and caused the fault to impact two instructions: the first instruction of the first gadget was not properly executed.

The ROP attack consists in filling the proper data in registers before calling memcpy to copy the key into the ciphertext buffer. Since our gadgets do not corresponds exactly to the desired program, padding values are placed into the stack so that the values of interest for the attack are properly located into the stack

The last gadget is a return to normal execution. Finally, the attack succeeded as the key was read in the ciphertext buffer, with no error on other functionalities. 4.4.3 Consequences. This use-case demonstrates that the previous attack schemes may be leveraged into a fully fledge attack, namely a ROP attack to execute an arbitrary payload designed by the attacker.

ROP is a real threat for devices as it allows to take full control of a target by completely hijacking the control flow.

This technique is powerful on several account. First, the ROP keeps the privilege the program has at the faulted instruction. It is a practical opening for privilege escalation. Then the static integrity is preserved before and after the attack. A forensic analysis cannot reconstruct easily what happened (if the stack is cleared after the attack).

CONCLUSION

With this work, the EMFI has been shown to be an effective vulnerability injection mechanism. It asks for a re-evaluation of classic countermeasures against common software vulnerability, as our buffer overflow over a canary have shown.

The precise micro-architectural effect of the fault injection should be analysed in depth. For that, tooling must be developed to reconstruct the precise effect of the fault on real code. Indeed using specially crafted code for that purpose, even if informative, prevents from observing the whole range of effects seen on real code.

Tooling must also be designed to evaluate the fault vulnerability of a program. It can help the system designer to detect the most vulnerable parts of his system and act accordingly.

In this work, EMFI has been used on our own application. It is far simpler than a real application in a IoT device for example. The effectiveness of this technique against commercial products must be evaluated. EMFI is a threat, but is it as bad as we suspect? Not necessarily, since the complexity of the system may make the experiments more difficult. In the end, the main limitations for EMFI is of experimental nature, the attacker has a low control on the injected faults and the reproducibility may be low.

There are many possible countermeasures against EMFI (formally proven applications, secure elements, increased experimental difficulty, control flow integrity, etc).

In the future, at least one of the core would have to be hardened, probably with an efficient Control Flow Integrity (CFI) & System Integrity (SI) mechanism, to face EMFI threat.

Figure 1 :

 1 Figure 1: Memory observed with OpenOCD after a successful fault injection. The correct text address is 0x20000918, the first 4 words are correct, resulting from a previous unfaulted execution. The key address is 0x20000a18.

Listing 5 :

 5 Backdoor trigger void blink_wait() { unsigned int wait_for = 3758874636; unsigned int counter; for(counter = 0; counter < wait_for; counter += 8000000); }

Listing 7 :

 7 Example of gadget (assembly)

Listing 8 :

 8 ROP activation (assembly) 80003dc b.n 80003ec <some_function> 80003de nop ... 080003e2 <first_gadget>: 80003e2 ldr r4, [pc, #4]; (80003e8) 80003e4 mov lr, r4 80003e6 pop {r0, r1, r2, pc} 80003e8 .word 0x0800039d

  4.1.1 Description. The control flow hijacking consists in forcing a program to follow a branch that it should normally not. A real world usage of this attack is a PIN code validation, if the given PIN is false, access should not be granted, ie. first condition is incorrect.

	if(correct == 1) {
	status = 0xFFFFFFFF; }
	else {
	status = 0x55555555; }
	Listing 2: Resulting assembly (thumb2)
	cmp r3, #1	; r3 contains *correct*
	ite eq	; if then else
	moveq.w r4, #4294967295	; 0xffffffff
	movne.w r4, #1431655765	; 0x55555555
	Listing 1: Targeted C code