mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Neue ARM-Prozessoren: Cortex-M23 und Cortex-M33


Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
6 lesenswert
nicht lesenswert

ARM kündigt mit dem Cortex-M23 und Cortex-M33 zwei neue Prozessorvarianten der Cortex-M-Reihe an, auf deren Basis Chiphersteller Mikrocontroller mit verschiedenen Ausstattungen realisieren können. Zu den Herstellern die bereits Produkte angekündigt haben gehören u.a. Analog Devices, STMicroelectronics und Renesas.

Die neuen Prozessorkerne basieren auf der im vorigen Jahr vorgestellten ARMv8-M-Architektur. Als wichtigste Neuerung gegenüber der ARMv7-M(E)-Architektur, auf welcher Cortex M3 und M4 basieren, bietet ARMv8-M ein TrustZone genanntes Sicherheitsfeature, welches einen abgeschotteten Bereich für sicherheitsrelevante Systemsoftware darstellt, in dem z.B. Schlüssel, Authentifizierungsverfahren oder Bootloader getrennt von weniger vertrauenswürdigem Code untergebracht werden können. Mit diesem Sicherheitsfeature zielt ARM auf IoT (Internet of Things)-Geräte, wo einerseits die Sicherheit gegen Angriffe ein wichtiges Thema ist, andererseits Hersteller ihre Geräte aber auch gegen Einblicke oder Modifikationen von außen schützen möchten.

Der Cortex-M23 basiert auf der ARMv8-M "Baseline", und ist mit dem Funktionsumfang ungefähr mit dem Cortex-M3 vergleichbar. Cortex-M33 ("Mainline") bietet höhere Performance und optionale DSP- und FPU-Einheiten, vergleichbar mit Cortex-M4.


Autor: Gerd E. (robberknight)
Datum:

Bewertung
4 lesenswert
nicht lesenswert
Eine etwas tiefer gehende Beschreibung der Neuigkeiten findet sich hier:
http://www.elektroniknet.de/halbleiter/mikrocontro...

Autor: Stefan (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Trustzone Hardware schön und gut, schon heute gibt es Möglichkeiten ein 
IoT System auf der Applikationsschicht zu sichern, selbst den TLS zu 
verstärken. Das was fehlt ist die Zeit in Sicherung zu investieren, gar 
fehlt das Know-how. Man kann die beste hw haben, mit Trustzone, anti 
tampering und trotzdem ein ist die Software Implementierung das 
Sicherheitsleck. Trustzone ist in jedem Smartphone jedem cortexA5 
vorhanden und wird bisher nur kindlich genutzt wenn überhaupt. Trotz 
trustzone kann sich ein Trojaner in meinem Handy einnisten, sonst 
bräuchten wir gar keine Antiviren sw mehr.

Autor: STler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas S. schrieb:
> Der Cortex-M23 basiert auf der ARMv8-M "Baseline", und ist mit dem
> Funktionsumfang ungefähr mit dem Cortex-M3 vergleichbar. Cortex-M33
> ("Mainline") bietet höhere Performance und optionale DSP- und
> FPU-Einheiten, vergleichbar mit Cortex-M4.


Das ist so sicherlich nicht richtig. In dem von Gerd E. zitierten 
Artikel wird das ja auch schön ausgeführt:
"Der M23 ist wie der M0+ extrem einfach aufgebaut. Er beinhaltet eine 
von Neumann-Architektur (einheitlicher I/O-Bus für Daten und Befehle), 
und unterstützt kein TCM."

Der Unterschied ist halt, dass bei den M23/M33 dieselbe Mikroarchitektur 
mit unterschiedlichen Subprofilen genutzt wird.

Richtig wäre also:
Der M23 ist der Nachfolger vom M0(+) und der M33 vom M3 oder M4 je nach 
Ausstattung (also mit/ohne DSP- bzw. mit/ohne FPU-Einheit) durch den 
MCU-Hersteller.

Autor: M. Köhler (sylaina)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
STler schrieb:
> Das ist so sicherlich nicht richtig. In dem von Gerd E. zitierten
> Artikel wird das ja auch schön ausgeführt:

Andreas hat nur zitiert, was ARM auf der Homepage geschrieben hat beim 
M23 ;)

Autor: Robin E. (why_me)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
M0+ Nachfolger stimmt beim M23 eher.
- 2 stage Pipeline
- low power
- etc.



Einzig ARMv8/TrustZone, AHBS statt AHB-lite und  eibe Trace Macro kamen 
hinzu. Zumindest auf Blockschaltbild-Ebene.

Autor: STler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
M. K. schrieb:
> STler schrieb:
>> Das ist so sicherlich nicht richtig. In dem von Gerd E. zitierten
>> Artikel wird das ja auch schön ausgeführt:
>
> Andreas hat nur zitiert, was ARM auf der Homepage geschrieben hat beim
> M23 ;)

Oh, wo steht das denn?

Ich habe nur gefunden:
"ARM offers:

- Cortex-M0, Cortex M0+, and Cortex-M23 for applications requiring 
minimal cost, power and area
- Cortex-M3, Cortex-M4, and Cortex-M33 for all applications where a 
balance between 32-bit performance and energy efficiency is desirable
- Cortex-M7 is designed for embedded applications requiring high 
performance"

An der Stelle zumindest sortiert ARM selber den M23 als äquivalent zum 
M0(+) ein.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja IoT und dann (wieder) keine MMU...

73

Autor: Peter König (peter_kg)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Ich hab zwar überhaupt keine Ahnung von diesem neuen DRM-Gedöhns, aber 
wenn ich was von "Trust-Zone" lese, weiß ich immer schon, das wird 
unseriös. War mit UEFI auch so. Ich glaube das kriegen wir nie wieder 
weg.

Autor: STler (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Peter K. schrieb:
> Ich hab zwar überhaupt keine Ahnung von diesem neuen DRM-Gedöhns,


Wenn man keine Ahnung hat, einfach mal ...


> aber
> wenn ich was von "Trust-Zone" lese, weiß ich immer schon, das wird
> unseriös. War mit UEFI auch so. Ich glaube das kriegen wir nie wieder
> weg.


So ein Unsinn. Das ist doch etwas völlig Unterschiedliches.
Trust Zone ist eine vernünftige Sache und hat mit UEFI überhaupt nix zu 
tun.

Autor: A. K. (prx)
Datum:

Bewertung
4 lesenswert
nicht lesenswert
Peter K. schrieb:
> Ich hab zwar überhaupt keine Ahnung [...] aber wenn ich was von [...]
> lese, weiß ich immer schon

Ohne Kommentar.

Autor: M. Köhler (sylaina)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Peter K. schrieb:
>> Ich hab zwar überhaupt keine Ahnung [...] aber wenn ich was von [...]
>> lese, weiß ich immer schon
>
> Ohne Kommentar.

Aber ist das jetzt nicht doch ein Kommentar? :D

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nee, aber nicht doch. Ein Hinweis auf das postfaktische Zeitalter wäre 
ein Kommentar gewesen. ;-)

Autor: Jack (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Peter K. schrieb:
> Ich hab zwar überhaupt keine Ahnung von diesem neuen DRM-Gedöhns,
> aber
> wenn ich was von "Trust-Zone" lese, weiß ich immer schon, das wird
> unseriös. War mit UEFI auch so. Ich glaube das kriegen wir nie wieder
> weg.

Da ist nichts unseriös dran. Die TrustZone ist speziell gesicherter 
Speicherbereich im Microcontroller und privilegierte Prozessorbefehle 
die darauf Zugriff haben. Was du mit diesen Funktionen machst ist dir 
als Programmierer überlassen.

Das Konzept gibt es sowohl bei ARM Cortex-A bzw. anderen Prozessoren 
schon "ewig". Bei Intel x86 sind es zum Beispiel die Protection Rings 0 
- 3. Bei x86 baut man damit zum Beispiel Hypervisor.

ARM arbeitet ebenfalls an einem Hypervisor auf Basis der TrustZone 
(uVisor, der ist allerdings noch nicht fertig sondern tut momentan nur 
so als ob). Was dich nicht davon abhält schon heute selber deine 
Software/Daten in schützenswerte Bereiche, wie zum Beispiel 
Verschlüsselungs-Keys und Algorithmen und normale Bereiche (LED blinke 
lassen ...) aufzuteilen. Erstere packst du in die TrustZone, letztere 
lässt du normal ausführen.

Warum du meinst das mit UEFI vergleichen zu müssen ... <kopfschüttel>

Wie sicher ist die TrustZone? Eine alte Cortex-A 
TrustZone-Impementierung in einem speziellen SoC wurde vor einiger Zeit 
geknackt. Da war es eine Mischung aus fehlerhafter Hardware- und 
Firmware. Kann also passieren. ARM sagt selber, dass die TrustZone nur 
dafür gemacht ist Angriffen unterhalb der Ebene "IC im Labor 
'spezialbehandeln'" zu widerstehen. Wer sich auch dagegen wappnen will, 
der muss deutlich mehr Geld für speziell gehärtete Mikrocontroller 
hinlegen.

Aus der Tatsache ergibt sich übrigens, dass man in einer TrustZone 
tunlichst keinen Master-Key oder ähnliches hinterlegen sollte, der für 
alle Geräte einer Serie gleich ist. Das ist eine ganz dumme Idee. Jedes 
Gerät braucht individuelle Keys. Liest dann ein Angreifer die Keys eines 
Gerätes aus, hat er nicht die Kontrolle über alle Geräte sondern kann 
nur das eine Geräte faken.

Autor: Jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jack schrieb:
> Da war es eine Mischung aus fehlerhafter Hardware- und
> Firmware. Kann also passieren. ARM sagt selber, dass die TrustZone nur
> dafür gemacht ist Angriffen unterhalb der Ebene "IC im Labor
> 'spezialbehandeln'" zu widerstehen.

Das kann man sicher falsch verstehen. Der Hack 
(http://bits-please.blogspot.de/2015/08/exploring-q...) 
war ein Software-Hack, kein Angriff mit Öffnen des ICs und Manipulieren 
des Dies oder so. Der Hack  hätte nicht funktionieren dürfen wenn die 
Cortex-A TrustZone Implementierung richtig gewesen wären.

Autor: STler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jack schrieb:
> Da ist nichts unseriös dran. Die TrustZone ist speziell gesicherter
> Speicherbereich im Microcontroller und privilegierte Prozessorbefehle
> die darauf Zugriff haben. Was du mit diesen Funktionen machst ist dir
> als Programmierer überlassen.


Das ist so nicht richtig.
Lies mal die entsprechende Doku bei ARM dazu.


> Das Konzept gibt es sowohl bei ARM Cortex-A bzw. anderen Prozessoren
> schon "ewig". Bei Intel x86 sind es zum Beispiel die Protection Rings 0
> - 3. Bei x86 baut man damit zum Beispiel Hypervisor.


Auch das ist so nicht richtig, Trustzone ist ein anderes Konzept und 
funktioniert und wirkt ein bisschen anders.

Im Übrigen gibt es auch ein paar feine Unterschiede zwischen TrustZone 
ARMv8-A und TrustZone ARMv8-M.

Autor: W.S. (Gast)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
Jack schrieb:
> Was dich nicht davon abhält schon heute selber deine
> Software/Daten in schützenswerte Bereiche, wie zum Beispiel
> Verschlüsselungs-Keys und Algorithmen und normale Bereiche (LED blinke
> lassen ...) aufzuteilen. Erstere packst du in die TrustZone, letztere
> lässt du normal ausführen.

ROTFL

Also, wenn ich mir hier die überwältigende Mehrzahl von 
Programmier-Beiträgen anschaue, dann sehe ich, daß gefühlte 90% aller 
C-Programmierer es nicht mal schaffen, ihren Spaghetticode in 
vernünftige Module aufzuteilen. Keine wirklichen LoLevel-Treiber, die 
den Namen HAL verdienen, keine Trennung zwischen verschiedenen 
Funktions-Regionen, alles zusammengematscht.

Und du schlägst vor, Dinge die eigentlich sinnvoll sind, auch sinnvoll 
zu tun? JA, im Prinzip JA - aber doch nicht mit dem hier versammelten 
Publikum!

W.S.

Autor: M. Köhler (sylaina)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
W.S. schrieb:
> Und du schlägst vor, Dinge die eigentlich sinnvoll sind, auch sinnvoll
> zu tun? JA, im Prinzip JA - aber doch nicht mit dem hier versammelten
> Publikum!

Es werden hoffentlich alle lernfähig sein.

Autor: W.S. (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
M. K. schrieb:
> Es werden hoffentlich alle lernfähig sein.

Ich bemühe mich intensiv, an den Weihnachtsmann zu glauben. Gebe aber 
keine Garantie, daß dies mal klappen wird.

W.S.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lol. Sicherheit ist eine Illusion. Trusted computing hin oder her ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.