Patent application EP20182130A (EP), filed 2020-06-25
Publication number: EP3757842A1
Title: MODIFICATION OF A MEMORY OF A SECURE MICROPROCESSOR
Abstract: [0001]    La présente description concerne un procédé comprenant des étapes consistant à :
a) recevoir, par un premier microprocesseur (3), une requête de modification d'un contenu d'une première mémoire (32) du premier microprocesseur ;
b) accéder, avec le premier microprocesseur, à des premières données associées à la requête et à une signature générée à partir des premières données, les premières données et la signature étant disponibles dans une deuxième mémoire (22) d'un deuxième microprocesseur (2), et les premières données étant représentatives d'une modification à appliquer au contenu de la première mémoire (32) ;
c) vérifier, par le premier microprocesseur (3), l'authenticité des premières données à partir de ladite signature ; et
d) modifier le contenu de la première mémoire (32) conformément aux premières données, la mise en oeuvre de l'étape d) étant conditionnée par l'étape c).
IPC codes: G06F  21/    12            A I
G06F  21/    57            A I
G06F  21/    60            A I
G06F  21/    64            A I
G06F  21/    72            A I
G06F  21/    74            A I
G06F  21/    78            A I
G06F   8/    51            A I
G06F   8/    65            A I
G06F   8/    72            A I
H04L   9/    08            A I
H04L   9/    32            A I
Claims: number: 1
text: Procédé comprenant des étapes consistant à :
number: 2
text: Procédé selon la revendication 1, dans lequel :
number: 3
text: Procédé selon la revendication 2, dans lequel la valeur du paramètre (3022) est sélectionnée parmi au moins la première valeur (RS), la deuxième valeur (IR) et une troisième valeur (IS), l'étape d) comprenant, lorsque le paramètre (3022) est à la troisième valeur (IS), une étape consistant à enregistrer un code logiciel d'un nouveau service dans la première mémoire (32), et une étape de modification de la première table pour faire pointer le premier index égal à l'index cible (3020) vers le nouveau service.
number: 4
text: Procédé selon la revendication 2 ou 3, dans lequel :
number: 5
text: Procédé selon la revendication 4, dans lequel la valeur du paramètre est sélectionnée parmi au moins la première valeur (RS), la deuxième valeur (IR), la quatrième valeur (RP) et une cinquième valeur (IP), l'étape d) comprenant, lorsque le paramètre (3022) est à la cinquième valeur (IP), une étape consistant à enregistrer, dans la zone de la première mémoire (32) pointée par le deuxième index égal à l'index cible (3020), un code logiciel d'une mise à jour d'un des services exposés.
number: 6
text: Procédé selon la revendication 3, la revendication 4 prise dans sa dépendance à la revendication 3, ou la revendication 5, dans lequel les premières données (302) comprennent des troisièmes données (302-3) représentatives du code logiciel enregistré, à l'étape d), dans la première mémoire (32).
number: 7
text: Procédé selon l'une quelconque des revendications 2 à 6, dans lequel les deuxièmes données (302-2) sont des données chiffrées par un algorithme de chiffrement symétrique, l'étape d) comprenant une étape d1) de déchiffrement (500) des deuxièmes données (302-2) par le premier microprocesseur (3).
number: 8
text: Procédé selon la revendication 7 prise dans sa dépendance à la revendication 6, dans lequel les troisièmes données (302-3) sont des données chiffrées par un autre algorithme de chiffrement symétrique, l'étape d) comprenant, après l'étape d1), une étape d2) de déchiffrement (700, 802) des troisièmes données (302-3) par le premier microprocesseur.
number: 9
text: Procédé selon la revendication 8, dans lequel les deuxièmes données (302-2) sont en outre représentatives d'un premier code d'intégrité (3032) généré lors du chiffrement des troisièmes données (302-3), l'étape d2) comprenant en outre la comparaison (701, 804) du premier code d'intégrité (3032) à un deuxième code d'intégrité généré lors du déchiffrement (700, 802) des troisièmes données (302-3), la modification du contenu de la première mémoire (32) conformément aux premières données (302) étant conditionnée par ladite comparaison.
number: 10
text: Procédé selon l'une quelconque des revendications 1 à 9, dans lequel le jeu de services exposés initialement par le premier microprocesseur (3) est déterminé par le contenu d'une troisième mémoire non volatile (33) du premier microprocesseur, de préférence une mémoire ROM, le contenu de la troisième mémoire étant figé et accessible par le premier microprocesseur uniquement.
number: 11
text: Procédé selon la revendication 10 prise dans sa dépendance à la revendication 2, dans lequel ledit service encore non exposé est déterminé par le contenu de la troisième mémoire (33) .
number: 12
text: Procédé selon l'une quelconque des revendications 1 à 11, dans lequel les données de mise à jour comprennent en outre des quatrièmes données (302-1) non chiffrées indiquant :
number: 13
text: Procédé selon l'une quelconque des revendications 1 à 12, dans lequel la première mémoire (32) est une mémoire volatile, de préférence une mémoire RAM.
number: 14
text: Microprocesseur (3) comprenant un processeur (31) et une mémoire non volatile (33) dont le contenu est figé, la mémoire non volatile (33) comprenant des instructions qui, lorsqu'elles sont lues par le processeur (31), entraînent la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 13.
Office action: search_report, dated 2020-12-30
Rejection reasons: novelty_epc_54
Prior art cited: ref_id: US2017090909A1
ref_type: patent
severity: background
ref_id: US2019034196A1
ref_type: patent
severity: background
ref_id: US2019034195A1
ref_type: patent
severity: background
ref_id: US2017090909
ref_type: patent
severity: novelty_destroying
ref_id: US2019034196
ref_type: patent
severity: background
ref_id: US2019034195
ref_type: patent
severity: background
Final disposition: pending (2020-12-30)