Yuto Nakano

Youssef Souissi
email: youssef.souissi@secure-ic.com

Robert Nguyen
email: robert.nguyen@secure-ic.com

Laurent Sauvage
email: laurent.sauvage@secure-ic.com

Jean-Luc Danger
email: jean-luc.danger@secure-ic.com

Sylvain Guilley
email: sylvain.guilley@secure-ic.com

Shinsaku Kiyomoto
email: kiyomoto@kddilabs.jp

Yutaka Miyake
email: miyake@kddilabs.jp

A Pre-processing Composition for Secret Key Recovery on Android Smartphone

Keywords: Simple Side-channel Attack, Time-frequency Pre-processing, Asymmetric Cryptography, RSA, ECC, Android smartphone

Simple Side-Channel Analyses (SSCA) are known as techniques to uncover a cryptographic secret from one single spied waveform. Up to now, these very powerful attacks have been illustrated on simple devices which leakage was obvious. On more advanced targets, such as high-end processors of smartphones, a simple visual analysis of the waveforms might not be sufficient to read the secret at once. In this paper, we detail and explain how a composition of time-frequency pre-processings manages to extract the relevant information from one signal capture of an asymmetric cryptographic operation (RSA and ECC) running on an Android system. The lesson is that side-channel countermeasures must be applied even on advanced platforms such as smartphones to prevent secret information theft through the electromagnetic (EM) waveforms.

Introduction

Side-channel attacks (SCA) are becoming more and more serious threats to secure systems as the latter can be broken even if the underlying cryptographic algorithms are mathematically secure. In fact, these non-invasive attacks consist in exploiting the physical properties (e.g. electromagnetic, power, acoustic or time leakage) of a device when running some cryptographic process, in order to recover a sensitive information. The idea of power consumption based SCA was first introduced by Kocher [START_REF] Kocher | Differential Power Analysis[END_REF]. Then, other side-channels have been exploited such as electromagnetic (EM) emanations [START_REF] Gandolfi | Electromagnetic Analysis: Concrete Results[END_REF], which are a more powerful source of leakage and can be performed without a physical contact to the device. Basically, SCA can be classified into advanced and simple attacks. Advanced SCA require a lot of waveforms to be statistically analysed. In some recent scientific papers (e.g. [START_REF] Bauer | Horizontal and vertical side-channel attacks against secure RSA implementations[END_REF]), this kind of SCA is also called vertical attack as the analysis focuses on the statistical behaviour of one (or some) time samples over many acquired waveforms. In spite of their effectiveness, in some real world situations, advanced SCA might not be applicable. As a matter of fact, the acquisition of many waveforms for the analysis is not possible because of the physical protections and software limitations (e.g. filters, sensors, number of trials to enter a password, etc) made to protect the target device. Besides, for some cryptographic RSA or ECC based protocols (e.g. key session generation like DH, RSA and ECDH protocols; or digital signature like ECDSA) or some protected implementations, the secret is generated only once. Thus, the attack must deal with only one single waveform. For this purpose, Simple SCA (SSCA) have been developed to work on such restrictive situations. SSCA are also called horizontal attacks as they exploit the information provided by the whole time samples within the waveform. Basically, the SSCA is usually performed over the time domain [START_REF] Walter | Sliding Windows Succumbs to Big Mac Attack[END_REF][START_REF] Bauer | Horizontal Collision Correlation Attack on Elliptic Curves[END_REF][START_REF] Heyszl | Clustering Algorithms for Non-Profiled Single-Execution Attacks on Exponentiations[END_REF][START_REF] Clavier | Horizontal correlation analysis on exponentiation[END_REF][START_REF] Kocher | Differential Power Analysis[END_REF]. The frequency domain can be used to perform a noise-filter as a first step in the analysis in order to identify the secret patterns in the time domain as a second step. In the same context, it is shown that vertical SCA can be applied separately over each domain. As a matter of fact, Aboulkassimi et al. [START_REF] Aboulkassimi | ElectroMagnetic analysis (EMA) of software AES on Java mobile phones[END_REF] proposed two different vertical SCA on PDA mobile device: the first attack, called Spectral Density Approach (SDA), aims at performing a vertical attack (correlation analysis) based on the power spectrum density representation (i.e. frequency domain) to overcome the problem of waveforms misalignment; and the second attack, called Template Resynchronisation Approach (TRA), consists in performing a correlation vertical attack over the time domain after resynchronising the waveforms.

From the signal processing theory viewpoint, the information content is the same in both domains, but its representation is not. This has a special flavour for side-channel analysis. In fact, the combination of both domains (i.e. timefrequency analysis) should provide better description of the secret leakage. More importantly, signal processing theory has provided us with powerful tools that can be used for this purpose, like the Short-Time Fourier Transform (STFT or spectrogram) and wavelet transforms. However, despite their great efficiency, the usage of these tools is not democratised for SCA. To our best knowledge, in the general context of SCA, very few scientific papers and reports [START_REF] Vuagnoux | Compromising electromagnetic emanations of wired and wireless keyboards[END_REF] [11] [START_REF] Genkin | RSA key extraction via low-bandwidth acoustic cryptanalysis[END_REF] [START_REF] Souissi | Novel Applications of Wavelet Transforms based Side-Channel Analysis[END_REF] have analysed the side-channel leakage from its time-frequency representation: in [START_REF] Vuagnoux | Compromising electromagnetic emanations of wired and wireless keyboards[END_REF], Vuagnoux proposed to spy the electromagnetic (EM) activity of computer keyboards based on independent pre-processings. In fact, they used the STFT just as first and independent step to visualise the overall EM activity. The extraction of the secret itself is performed thanks to another tool that is a frequency filter applied directly on the non-noisy baseband waveforms. In addition to this, an anechoic room is used to obtain a good success rate. The time-frequency sidechannel analysis has been also addressed by Gebotys et al. in [START_REF] Gebotys | EM Analysis of Rijndael and ECC on a Wireless Java-Based PDA[END_REF]. They proposed a vertical attack, called DSA, on an AES-192bit (Advanced Encryption Standard) and ECC-192bit implementation-based PDA mobile device. Technically, the attack is mainly based on the computed spectrograms of acquired waveforms. However, a lot of EM waveforms (around 1100) are necessary to recover the secret key. Similarly to [START_REF] Aboulkassimi | ElectroMagnetic analysis (EMA) of software AES on Java mobile phones[END_REF], the main idea behind DSA is to get round the problem of misaligned waveforms. In [START_REF] Genkin | RSA key extraction via low-bandwidth acoustic cryptanalysis[END_REF], Genkin et al. have recently proposed an improved acoustic SCA on RSA-4096bit implementation, based on the spectrograms of acoustic leakages, emitted at very low frequencies. It is noteworthy that the proposed attack requires many acoustic waveforms, based on chosen ciphertexts, and follows several steps (e.g. waveforms classification, etc) to recover the RSA secret key. Besides, Souissi et al. in [START_REF] Souissi | Novel Applications of Wavelet Transforms based Side-Channel Analysis[END_REF], have described several side-channel applications (vertical and horizontal SCA) based only on wavelet transforms. However, they briefly showed the power of such tool in SSCA context. Note that, in our paper, we will focus on the merits of Short-Time Fourier transform that is faster and easier to compute than wavelet transform.

Our contributions In this paper, our contributions are four-fold:

1. We propose a composition of a time-frequency SSCA to localise and characterise the secret leakage. By contrast to [START_REF] Gebotys | EM Analysis of Rijndael and ECC on a Wireless Java-Based PDA[END_REF] [1], the proposed attack is horizontal and requires only one single EM measurement to recover the whole secret. Such attack is suitable for real implementations of asymmetric cryptography. 2. We show how classic SSCA, like Wiener and average mobile filtering, are unable to localise the secret patterns within a sample RSA waveform. 3. We perform the proposed SSCA on a modern device that is an Android smartphone clocked at 832 MHz. In this context, some publications pointed out the possibilities of SCA on smartphones and PDAs [START_REF] Gebotys | EM Analysis of Rijndael and ECC on a Wireless Java-Based PDA[END_REF] [1] [START_REF] Kenworthy | Mobile Device Security: The case for side channel resistance[END_REF]. Kenworthy and Rohatgi [START_REF] Kenworthy | Mobile Device Security: The case for side channel resistance[END_REF] analysed side-channel vulnerabilities of RSA-Chinese Remainder Theorem (CRT) and elliptic curve point multiplication. They showed that the private key of both cryptosystems can be recovered from a single EM waveform using a specific equipment. Actually, an Icom IC-R7000 VHF-UHF receiver is used to demodulate the baseband waveform. The main issue, not addressed by the authors, is the way to find out the most appropriate frequency bandwidth related to the secret leakage. Moreover, note that this characterisation requires many measurements. On the other hand, the method we propose, instantaneously provides such characterisation, using software pre-processing on a single baseband (or raw) waveform. Our approach is more flexible as it is not limited by the range of frequencies to analyse that is necessary to be verified by the features of the demodulator equipment. Obviously, it is a real challenge to deal with such modern devices. Indeed, in the literature, we found that some studies (e.g. [START_REF] Zenger | SEMA of RSA on a Smartphone[END_REF]) failed to mount a complete SSCA on smartphones. 4. We target asymmetric cryptographic algorithms. Indeed, we show how to break the security of basic RSA and ECC-based Android applications. More importantly, we note that we did not target home made applications. In fact, the targets are the cryptographic functions provided by JCE the default library of Android that is the most commonly used by the developers community.

A Pre-processing Composition for Secret Recovery

2.1 SSCA Types and Tools: Overview

In the literature, SSCA come basically with four types of analysis according to the implementation difficulty level, the used tools and the noise nature. Before going further, it is noteworthy that two kinds of noise can be considered: the measurement noise that is caused by surrounded electronic components and external environment; and the algorithmic noise that is generated by the whole activity of the target circuit except of course the one that is related to the secret. Now, the four types of SSCA can be described as follows:

1. SSCA first type: it is the simplest one as it is based only on a visual detection of the secret patterns. Such type of analysis is possible only when the useful information is not perturbed by the noise [START_REF] Kocher | Differential Power Analysis[END_REF]. It is generally applied on fully controlled platforms often used for demonstration or academic purposes. 2. SSCA second type: it involves the usage of pre-processing tools. This SSCA basically deals with the measurement noise in order to make easier the visual detection of secret patterns. In the real world (i.e. when performing the attack on real devices), acquired waveform is usually noisy. Hence, preprocessing is essential. We note that the core idea behind this paper mainly turns around this type of SSCA. In what follows, we list commonly used techniques:

-Frequency filtering (High & Low pass filters), -Time linear & non-linear filtering (e.g. Wiener or Kalman filtering [START_REF] Souissi | Improvement of power analysis attacks using Kalman filter[END_REF]), -High order statistics [START_REF] Le | Noise Reduction in Side Channel Attack Using Fourth-Order Cumulant[END_REF], -Threshold-based Wavelets transforms [7] [22]. Generally, when acquired EM waveforms are very noisy, the extraction of the secret key is a challenging task as the sensitive leakage is not properly localised. Indeed, in such situation, those techniques usually fail to recover the secret. 3. SSCA third type: it statistically analyses (e.g. linear correlation, time samples combination, collision analysis, etc) the whole time information within the waveform in order to extract the secret [START_REF] Bauer | Horizontal Collision Correlation Attack on Elliptic Curves[END_REF] [14] [START_REF] Clavier | Horizontal correlation analysis on exponentiation[END_REF]. Such SSCA type is useful to efficiently target some protected implementations like blinding RSA. 4. SSCA fourth type: it combines both pre-processing and statistical analysis.

These SSCA are generally used to deal with noisy and protected real world implementations.

Theoretical Background: DFT, STFT and Noise-filtering

In this section, we recall some theoretical definitions and basics necessary to properly understand the proposed attack. From the signal processing viewpoint, the acquired EM waveform can be represented as a sequence of N discrete time samples. We denote by {y[0], y[1], ..., y[N -1]} such sequence. Hence, the discrete Fourier transform (DFT) returns N frequency components that can be written as follows (Eq.1):

Y [k] = N -1 n=0 y[n] ω kn N , (1)
where ω N = e -j 2π N = cos( 2π N )-j sin( 2π N ) and k = {0, 1, ..., N -1} is the frequency index. For the sake of clarity, the DFT can be represented in a matrix form such that (Eq.2):

       Y [0] Y [1] Y [2]
. . .

Y [k]        =         1 1 1 • • • 1 1 ω 1 N ω 2 N • • • ω (N -1) N 1 ω 2 N ω 4 N • • • ω 2(N -1) N . . . . . . . . . . . . . . . 1 ω (N -1) N ω 2(N -1) N • • • ω (N -1) 2 N         ×        y[0] y[1] y[2] . . . y[k]        . (2)
According to Eq.2, the DFT allows us to characterise the periodicity of elementary activities within the analysed sequence. Indeed, from the SSCA point of view, the idea being that the waveform is exhaustively compared to different sinusoidal waves. In practice, DFT can be very useful in telling us about the number of most significant patterns in the EM waveform. However, the DFT is not able to detect time varying activities as it provides an averaged value of the frequency over the whole time samples in the sequence. For this purpose, the Short-Time Fourier Transform (STFT) proposes to apply the DFT over a windowed version of the sequence. Indeed, the sequence is segmented into successive time intervals (windows) of fixed length L ≤ N . Then, the DFT is computed over each window. This way the frequency information is time-localised. Consequently, the STFT can be expressed as follows:

Y [k, t 0 ] = L-1 n=0 y[t 0 + n] • s[n] • e -j 2πkn L , (3)
where, k is the frequency index, s is the sliding window and t 0 is the time reference index related to s. It is noteworthy that, the window size determines the time and frequency resolution. As the window size is fixed, a good frequency resolution is obtained to the detriment of a good time resolution, especially when the used window is large. In practice, we slide the window by one time sample to enhance the time resolution. Eventually, the STFT can be seen as a two-dimensional representation showing the information over both, the time and the frequency scales. This way, the STFT allows differentiating the elementary activities of the target component. This means that the STFT is able to deal with the algorithmic noise. Now, in order to deal with the measurement noise, any basic noise-filtering (e.g. mobile average smoother, Wiener filter, Kalman filter, low pass filter, linear regression, etc) can be used. In our attack, we use the simplest noise-filter that is the mobile average. Let l be the window size of such filter. Thus the filter simply consists in computing the arithmetic mean of all subsequent time intervals, each of length l.

Composition Scheme and Steps

Based on the previous definitions, we introduce our proposed SSCA tool that performs the analysis based on a composition scheme. We remind the reader that our attack requires only one single EM waveform. Basically, as shown in Fig. 1, the composition scheme is composed of 3 chained pre-processing blocks: This is true at both application level, especially in cryptography, or at implementation level, especially in software. Inside a loop the activity pattern is specific, hence allowing to discriminate the pattern for SSCA. This way, as stated before, the algorithmic noise would be properly analysed. 2. Block 2: Frequency bandwidth selection The second step aims at selecting the frequency area of interest, where the secret leakage exists. This can be performed through a simple visual analysis, especially when the internal activities had been efficiently decorrelated by the STFT. Alternatively, advanced techniques like DFT, clustering or probability density estimation can be used. The idea being that we should able to start characterising the secret patterns (e.g. periodicity, frequency, classes, shape, etc). 3. Block 3: Noise-filtering The third step, definitely removes the measurement noise. Therefore, the full characterisation of the secret patterns becomes an easy task.

3 Real Case Study: RSA / ECC Key Recovery on Android Smartphone

SSCA on Android Environment: Key Points

In the following, we discuss the key points to properly mount an SSCA on Android smartphone: first, we describe the measurement requirements to properly access the Android smartphone; second we tackle the most important difficulties which arise when targeting such device; and third we outline the possible software modifications of the Android system that might be performed by an attacker to enhance his malicious analysis.

Access to the Smartphone Basically, the SSCA measurement bench is composed of a PC-Target system (or client-server system) and a measurement device (an oscilloscope and an antenna) to record EM waveforms. Concerning the minimum features needed in the oscilloscope, four points should be taken into consideration: the sampling frequency, the memory depth, the placement of antennas and the trigger which provides a reference timing point necessary to synchronise waveforms. Most of recent smartphones are equipped with high speed processors to offer higher performance. For instance, the default CPU clock frequency of the handset we use is set to 832 MHz. This means we need an oscilloscope which is capable to sample at least 3 Gsample/s (i.e., 3 × 10 9 samples per seconds) in order to get an acceptable EM measurement for SSCA. Additionally, note that increasing the sampling frequency might create a problem with a memory depth.

Besides, the attacker is also conducted to identify which type of antenna should be used and how to place it. In practice, the localisation of the secret leakage can be simply performed by sweeping the antenna all over the backside of the smartphone. The most appropriate location can be precisely recovered by performing an EM cartography. The EM cartography consists of two steps: observing the EM field while sweeping the antenna over the device and then mapping the EM level to each position. The higher the EM level is in the cartography, the more the leakage is at the corresponding position. Now, we consider the last important factor: the trigger signal which is necessary to identify the start/end of the target process. This also allows aligning acquired EM traces. Regarding SSCA, as only a single waveform is required for the analysis, the trigger is less critical than for vertical SCA that require perfectly aligned waveforms. In our study, we will show how the first block in the proposed composition scheme (i.e. the STFT) can be an efficient solution for triggering. In the case of smartphones, the existing problem relies on the way the trigger is generated. Unlike testing boards (e.g. the SCA-Standard Evaluation Board (SASEBO) [START_REF]Side-channel Attack Standard Evaluation Board (SASEBO)[END_REF]), smartphones do not have I/O ports for sending/receiving control signals. Aboulkassimi et al. [START_REF] Aboulkassimi | ElectroMagnetic analysis (EMA) of software AES on Java mobile phones[END_REF] proposed to generate a pulse trigger based on read/write queries sent to the SD card system. In our experiments we realised that such method is fast and efficient to localise in time the target cryptographic process. Moreover, we tested another solution which is less invasive and easier to mount in real world attack situations. In fact, it consists in spying in real time the activity of running processes, and activating a serial trigger (through the USB connector) only when the target application is called by the system. More precisely, when the flag associated with the target application is written in the Android log file system that can be checked using Android ADB tool [START_REF]Android Debug Bridge[END_REF].

Factors That Can Make SSCA Difficult

Just In Time Compiler

The Just In Time Compile (JIT) aims to compile on-the-fly the Android bytecode into native machine instructions. This significantly enhances the performance of the Dalvik Virtual Machine that is in charge of executing Android applications. From the side-channel point of view, the activity of the JIT compiler might slightly influence the analysis as reported by Aboulkassimi et al. in [START_REF] Aboulkassimi | ElectroMagnetic analysis (EMA) of software AES on Java mobile phones[END_REF]. In practice, the impact of the JIT can be seen through the first executions an iterative process. For instance, in the case of a basic RSA process, the JIT activity may impact the first patterns related to the secret key bits manipulation. As only the first patterns are affected, this does not harm the overall efficiency of the SCA. Besides, even if some few secret bits are guessed incorrectly, some techniques [START_REF] Boneh | An Attack on RSA Given a Small Fraction of the Private Key Bits[END_REF] allows recovering the entire secret key.

Garbage Collector

The Garbage Collector (GC) can be defined as the process in charge of cleaning the memory (e.g. heap) by deleting unused Java objects. It is basically activated at random times by the processor when running user or Android system applications. This might create a problem for SSCA as it is not trivial to deal with the undesired activity generated by the GC. The GC is normally deactivated during the execution of native elementary processes. For instance, we observed that OpenSSL native cryptographic library is never perturbed by the GC. This is not the case for pure non-native libraries. However, in this case, when the GC is called, it is still easy to characterise its activity and remove it especially when the EM antenna or probe is properly placed. During our experiments, we also noticed that when using hybrid libraries 3 the GC might be called by the system, but will never impact (or interrupt) the native calls. 3. Multi-Core Processor In order to provide higher performances for users, handsets with multi-core processors are now the mainstream of smartphones. Unlike the single-core processors, multi-core processors distribute tasks to other existing cores so that they can be efficiently completed. In fact, during the cryptographic operation, the process might be moved from one core to another due to system interruptions. It might be also executed in parallel by several cores for the sake of performance. Therefore, this might rise EM acquisition problems. In practice, to deal with issue, one may acquire the waveforms as following two ways: either try to stay focused on the core executing the targeted implementation by placing a tiny antenna over the right decoupling capacitor; or capture the whole activity with a single and large antenna placed over the target processor. In our case, this did not impact our analysis as we targeted a mono-core processor based smartphone.

Software Modifications for Better EM Acquisition

1. Under-clocking the CPU The higher the CPU clock frequency is, the higher the resolution of the oscilloscope is required. In case that the clock frequency is too high and the oscilloscope is unable to acquire enough samples to cover the necessary leakage, the attacker can decrease the CPU clock frequency for a better acquisition. Basically, lowering clock frequency is not always necessary. In fact, in our experiments we kept the original CPU clock frequency of 832 MHz. 2. Lowering Radio Emission When many applications are running on the Android smartphone, in particular that ones which are responsible for ensuring radio and cell communications, the noise generated might have a considerable impact on the effectiveness of SSCA. In such situation, the attacker may reduce the level of noise by turning on the airplane mode available on most smartphones. We note that, in our experiments we show how our SSCA is still efficient even if the airplane mode is turned off.

Target Cryptographic Android Implementations

There are several cryptographic libraries compatible with the Android environment such as Java Crypto Extension (JCE) [START_REF]JAVA JCE documentation[END_REF], OpenSSL [START_REF]OpenSSL library documentation[END_REF], Bouncy Castle [START_REF]Bouncy Castle Crypto APIs[END_REF], Crypto++ [9], RELIC [20] and so on. At first we intended to exhaustively evaluate the security of all libraries when RSA and ECC are being executed. Then we realised that most of libraries, particularly the non-native ones, are mainly based on the same low level native primitives to perform arithmetic calculations on big integers, necessary for asymmetric cryptography. This can be verified by checking the source code of libraries or more easily by analysing the real time processor activity through the debugging Trace View Android tool [START_REF]Profiling with Traceview and dmtracedump[END_REF].

We note that the comparison of these libraries is out of the scope of this paper. Now, for the sake of generality and clarity, we will focus only on the most commonly used library that is the default JCE Android library. Actually, JCE provides the essential cryptographic primitives to manage security within an application. Its basic API packages are java.math, javax.crypto and java.security. Note that these APIs call the arithmetic primitives of the OpenSSL native library, such as modular squaring and multiplying, that have been already ported to Android system. Moreover, these APIs include a lightweight version of Bouncy Castle library that provides ready high level functions to execute, for instance, an elliptic curve point multiplication.

Experiments and Results

SSCA Experimental Environment Our measurement bench is illustrated in Fig. 2. Basically, it is composed of an Agilent Infiniium 9000 oscilloscope RSA Key Recovery The targeted RSA implementation is the right-to-left binary exponentiation variant: the sequence of operations (i.e. multiply and square) are dependent on the private key. Therefore, from the SSCA viewpoint, the idea being that we could identify the multiply-square pattern when the corresponding bit of the private key is '1', and only square pattern when the corresponding bit of the key is '0'. The RSA baseband waveform as it is acquired by the oscilloscope is shown in Fig. 3. We note that for the sake of clarity, in this example we have chosen a small RSA key that is 0xAF0AE3 (hexadecimal form). Clearly, the RSA activity is totally hidden by the noise, which makes classic SSCA inefficient. Indeed, in our experiments, we tested the most commonly used techniques (Wiener filtering and Average mobile smoothing) to extract the useful leakage from such noisy waveform. The results are illustrated by Fig. 4 and Fig. 5. We exhaustively tested many window sizes (i.e. the input parameter l). For the sake of convenience only the results for window sizes 50, 100 and 1000 are shown in both figures. Obviously, the localisation of the secret patterns is not possible when applying these techniques directly on the baseband waveform. Indeed, these techniques are usually used to remove only the measurement (or Gaussian) noise which is not sufficient in our case, as we should deal also with the algorithmic noise. In what follows, we will show the efficiency of our proposed method when applied on the same EM waveform. The Fig. 6 is an illustration of the STFT when applied on the RSA baseband waveform. Three important points can be directly deduced from this representation:

-The time-localisation of the RSA activity (start/end time identification).

-The recovery of the CPU activity around 832 MHz. After having visually analysed the five IFB vectors, we noticed that IFB1 vector ([10 MHz-40 MHz]) is likely to reveal the secret RSA patterns. The extracted IFB1 vector is illustrated by Fig. 7. Interestingly, it is possible to identify a very noisy sequence of patterns located in the same time interval of the RSA process. More precisely, two forms of patterns can be revealed and that are likely to be related to the activity of Square and Multiply RSA operations. Now when applying a basic smoother, like the mobile average smoothing filter, the secret RSA patterns are clearly identified as shown in Fig. 8. Besides, we noticed the presence of some noisy patterns, which are likely to be caused by the JIT or the cellular communications.

ECC Key Recovery Our target here is a basic ECC implementation, more precisely its elliptic curve point multiplication operation. The challenge is to characterise the ECC activity knowing that, iteratively, when the manipulated secret bit is '0' then only one elementary operation, that is Point doubling is performed; otherwise an additional operation, that is Point adding, is involved. Therefore, from the SSCA viewpoint one expect the identification of two different patterns. Similarly to RSA, we realised that, the most interesting STFT frequency bandwidth is represented by lower frequencies (IFB1 vector) located between 10 MHz and 20 MHz. The secret bits (0xD8A0F6) are entirely revealed when an average mobile smoothing filter is performed on the analysed IFB1 vector (Fig. 9). The Fig. 10 is a zoom on the resulting waveform. Obviously, the two ECC secret patterns can be easily differentiated based on their shape and their execution time.

Conclusion and Perspectives

In this paper, we have proposed an efficient pre-processing composition to mount a powerful SSCA on RSA and ECC. We applied the proposed attack to recover the secret keys on an Android smartphone clocked at high frequency (832 MHz). We remind the reader that, in practice, the higher the frequency is, the harder to attack as more noise is generated and more sophisticated equipments are needed. Our scheme succeeded in recovering the secret keys from a single waveform. Therefore, we conclude that our technique is particularly efficient to perform the pattern discrimination as it deals with both types of noise (measurement and algorithmic noise) and both domain representations (time and frequency). The proposed attack is applied directly on baseband traces. Hence, we expect to further enhance our analysis with a Software-Defined Radio (SDR) demodulator. Future work will be applying our attack to the devices with the CPUs of higher frequency and multi cores.

Fig. 1 .

 1 Fig. 1. An illustration of the pre-processing composition scheme.

1 .

 1 Block 1: Time-frequency localisation The first step consists in computing the STFT over the baseband waveform. In the SSCA context, the usage of this tool is justified for multiple reasons:-The sliding STFT allows the analysis to keep the time component of the signal. As the SSCA is based on demarcation of the sequential pattern, the study of time is mandatory. -The frequency component created by STFT allows the analysis to forge a local frequency signature. This signature is very relevant as the processes are always performed in a circular manner, with periodic loops.

Fig. 2 .

 2 Fig. 2. An illustration of the measurement bench.

Fig. 3 .

 3 Fig. 3. Initial noisy RSA EM waveform.

Fig. 4 .

 4 Fig. 4. Failure of Wiener filter to recover the RSA key.

Fig. 5 .

 5 Fig. 5. Failure of average mobile smoother to recover the RSA key.

Fig. 6 .

 6 Fig. 6. STFT based 2D-localisation of the RSA activity.

Fig. 7 .

 7 Fig. 7. IFB1 vector when extracted from the STFT matrix.

Fig. 8 .

 8 Fig. 8. Key recovery of RSA right-to-left binary exponentiation.

Fig. 9 .

 9 Fig. 9. An illustration of smoothed ECC activity.

Fig. 10 .

 10 Fig. 10. Zoom on smoothed ECC activity.

A hybrid library, like the JCE default Android library, is basically designed with a non-native language that makes recurrent calls to native primitives, like for instance to the modular arithmetic functions of OpenSSL.

http://secure-ic.com/smart-sic-analyzer


Michel Buffa

Catherine Faron Zucker

Thierry Bergeron

Hatim Aouzal

Semantic Web Technologies for improving remote visits of museums, using a mobile robot

The Azkar research project focuses on the remote control of a mobile robot using the emerging Web technologies WebRTC for real time communication. One of the use cases addressed is a remote visit of the French Museum of the Great War in Meaux. For this purpose, we designed an ontology for describing the main scenes in the museum, the objects that compose them, the different trails the robot can follow in a given time period, for a targeted audience, the way points, observation points. This RDF dataset is exploited to assist the human guide in designing a trail, and possibly adapting it during the visit. In this paper we present the Azkar Museum Ontology, the RDF dataset describing some emblematic scenes of the museum, and an experiment that took place in June 2016 with a robot controlled by an operator located 800 kms from the museum. We propose to demonstrate this work during the conference by organizing a remote visit from the conference demo location.

Introduction

In this paper we present a work started in 2015 in the context of the Azkar project 1 , funded by the French Public Investment Bank, that focuses on the remote control of a mobile robot using the emerging Web technologies WebRTC for real time communication. One of the use cases addressed in this project is the tele-robotic exploration of museums for primary and secondary schools and we report on our work enabling a remote visit of the French Museum of the Great War 2 .

The research question we address is "How can we assist a teacher planning a guided tour of a museum for her class and how can we assist her during the visit itself?" Our contribution lies in the joint use of (1) a mobile robot equipped with cameras and sensors, (2) the emergent W3C standard WebRTC for real time communication, and (3) an RDF dataset and the Linked Data to represent museum data and related resources.

In the experiment conducted with the Museum of the Great War in 2016, a human remotely controls the mobile robot in the museum, and plays the role of guide for children in school, using high-level tools to help him in this task, for designing the visit, for selecting locations and orientations of the robot in front of some scenes, for proposing linked multimedia resources, etc. These tools rely on the exploitation of semantic descriptions of the scenes, of the objects in the scenes, of possible locations/orientations for observing a scene, and more generally, of topology constraints (distances, time to go from one location to another, on board camera field of view, etc.). We designed the Azkar Museum Ontology (AMO) and created an RDF dataset. During the planning of the visit, this dataset is queried in combination with the Web of Data to retrieve relevant multimedia resources to propose to the visitors, and during the visit, requests are triggered in certain situations (geo-localization, time elapsed) in order to take or suggest decisions (display this video, go to the next location).

This paper is organized as follows. Section 2 summarizes related works. Section 3 presents the AMO ontology and the dataset we constructed for the Museum of the Great War. Section 4 concludes.

Related works

The number of robots that have been deployed in museums and exhibitions has grown steadily (see [START_REF] Arras | Robots in exhibitions[END_REF] for a survey), most of them acting as simple mobile video conference systems, such as3 . However, in this field, research works involving mobile robots usually do not rely on semantic descriptions of the scenes, and focus more on low level constraints such as sensors, latency or security (see for example [START_REF] Park | Telerobotic haptic exploration in art galleries and museums for individuals with visual impairments[END_REF] or [START_REF] Burgard | Experiences with an interactive museum tour-guide robot[END_REF]).

Regarding the use of knowledge models, several works have been conducted aiming the development of support systems to museum visits and access to cul-tural heritage, most of them involving mobile devices (phones, tablets) adaptable to the user's profile and sensitive to its context, to improve the user experience and help build his visit of the museum based on his preferences and constraints. Several kinds of recommendation systems are used, e.g. content based in the CHIP project [START_REF] Wang | Using semantic relations for content-based recommender systems in cultural heritage[END_REF], collaborative filtering in [START_REF] Benouaret | Un système de recommandation sensible au contexte pour la visite de musée[END_REF] and [START_REF] Gicquel | Proximités sémantiques et contextuelles pour l'apprentissage informel: Application à la visite de musée[END_REF].

The Azkar project is at the intersection of both worlds: it uses a mobile robot and an RDF dataset for describing some high level visitor profiles (primary schools and high schools) as well as the historical content of the museum scenes the robot is going to explore. The above cited papers, as well as the Hippie project (1999) [START_REF] Oppermann | A context-sensitive nomadic information system as an exhibition guide. handheld & ubiq[END_REF] have been a good inspiration for the remote control framework we developed (which is out of the scope of this paper) and for the high level design of the AMO vocabulary, starting bottom up from a large database that describes all data in the museum, with many details and object that are not noticeable during a visit, and arriving to an abstract description of museum scenes.

The AMO Vocabulary and the RDF Dataset describing the Museum of the Great War

The AMO vocabulary is available online4 ; it comprises 9 main classes and 26 properties. Its main classes represent museum objects, scenes, points of interest, maps, trails, and primary target audience (primary or high school). Its main properties enable to relate objects, points of interest and external medias (that may differ depending on the target audience) to scenes, scenes to trails, trails to maps and to describe these instances.

Based on AMO, we created an RDF dataset from the Flora relational database5 used by many French museums, that contains detailed descriptions of every single object in the museum catalog. The Azkar RDF dataset comprises today 421 instances and 2401 triples describing two scenes (a set of fully equipped French and German soldiers, called "Marne 14", and two trenches).

Currently, we implemented 32 SPARQL requests, the core ones perform tasks such as "giving this x and y position of the robot and a radius, give me the description of the current scene as well as related multimedia resources", or "please send the accurate description of all the soldiers in the Marne 14 scene with details and hires pictures (urls) about their equipment. In our experimentation, we remotely controlled the robot from our offices, 800 kilometers away from the museum. The commands, sensor data, audio and video streams are exchanged using WebRTC, through a p2p connection with the robot. When the robot is near a given scene, different observation points appear on the map, as well as linked resources (multimedia descriptions of the scene: local resources as well as resources from external data sources such as DBpedia.fr), as shown in Figure 2. SPARQL queries are triggered depending on the location of the robot, time, the current observed scene, pilot's interactions and the way the tour has been designed.

Proposed demonstration

The demo will be as follow: from the demos session location, attendees will control in real time a robot located in France (either in the Museum or in a fake museum area in our lab, time zones may not be compatible). The remote pilot will see real-time audio video streams and how semantic descriptions of the scenes and related multimedia resources augment the experience.

Fig. 1 .

 1 Fig. 1. The Kompaï remotely controlled mobile robot in front of two emblematic scenes of the Museum of the Great War in Meaux, France: soldiers in uniform and a French trench.

Fig. 2 .

 2 Fig. 2. Pilot GUI. We can see the observation points associated with the trench scene, in orange, on top of the map. The second switchable view presents the suggested multimedia resources. Clicking on one of them will send the url of the resource to the client for a local rendering (video, image, html).

http://azkar.fr

http://www.museedelagrandeguerre.eu/en

http://www.nma.gov.au/engage-learn/robot-tours

http://mainline.i3s.unice.fr/azkar/ontology

http://www.everteam.com/fr/cp-certification-flora-musee/