Forum: PC-Programmierung DLNA & VPN, wie, womit?


von Markus J. (dmant)


Lesenswert?

Hallo,

wie/womit ist es möglich DLNA und VPN zu "nutzen". Also wie z.b. eine 
Fritz!Box, mit dieser kann man einen VPN machen und einen DLNA Server im 
LAN bereit stellen.

Dies möchte ich nun möglichst "klein" machen, also eine Schaltung/System 
die sich mit einem VPN Server verbindet und mir DLNA im Netzwerk zur 
Verfügung stellt.

Nun könnte ich natürlich einen Raspberry PI nehmen, hätte direkt noch 
WLAN dabei und könnte es mit Raspbian umsetzt. Ist mir allerdings schon 
"zu groß".

Mit was für µCs ist sowas möglich? Nicht in jedem Router steckt so 
sofort ein ARM. Wie sieht es mit openWRT aus? Kann man die Schaltung 
selbst entwickeln oder geht das nur auf fertigen Routern, die mir 
natürlich auch wieder zu groß sind.

Bei Raspberry ist zudem das System auch "aussen", also die "Daten" 
könnten ausgelesen werden, bei einem geflashten µC ist das nicht so, 
oder?

Wenn ich mir die Router so von innen ansehe muss es doch recht "einfach" 
und mit möglichst "wenigen" Bauteilen etwas derartiges möglich sein.

Danke euch

: Verschoben durch User
von 1N 4. (1n4148)


Lesenswert?

> Wenn ich mir die Router so von innen ansehe muss es doch recht "einfach"
> und mit möglichst "wenigen" Bauteilen etwas derartiges möglich sein.

Ja, wenn es die richtigen Bauteile sind. Dabei kommt es allerdings auf 
das Innenleben derselben an. Bei ICs ist die Gehäusefarbe i.d.R. nicht 
das einzige Kriterium.

Prinzipiell kannst das mit jedem uC machen, der ein Ethernetinterface 
hat und das Rad von Grund auf neu erfinden.

von imonbln (Gast)


Lesenswert?

Markus J. schrieb:
> Mit was für µCs ist sowas möglich? Nicht in jedem Router steckt so
> sofort ein ARM. Wie sieht es mit openWRT aus? Kann man die Schaltung
> selbst entwickeln oder geht das nur auf fertigen Routern, die mir
> natürlich auch wieder zu groß sind.

OpenWRT und Raspi ist dir zu groß, das scheint mir ein wenig ein 
Widerspruch zu sein.
Abgesehen davon kenne ich keine DLNA (Server) Implementierung die nicht 
wenigstens einen 32 Bit Prozessor voraussetzt. Mit den ganzen 
Rattenschwanz, den DLNA nachzieht und dein Wunsch auch noch VPN zu 
machen, denke ich das du kaum unter einen Arm & Linux raus kommst. 
Selbst wenn der Chip viel im Silizium hat (was auch keine gute Idee ist 
wie wir gerade bei Intel mitbekommen)

Wie auch immer, ich persönlich hätte auch Bauchschmerzen DLNA und VPN 
auf den gleichen Device zu machen. DLNA heißt ja auch UPnP und das nahe 
am VPN, heißt doppelt aufpassen sonst hat man das UPnP im Internet und 
das will man eher nicht.

Beitrag #5266544 wurde von einem Moderator gelöscht.
von Schwarzseher (Gast)


Lesenswert?

MIPS statt ARM: WRTnode auf 5x5 cm?
Oder, noch kleiner, ein VoCore auf einem Viertel der Fläche?

von Markus J. (dmant)


Lesenswert?

imonbln schrieb:
> Wie auch immer, ich persönlich hätte auch Bauchschmerzen DLNA und VPN
> auf den gleichen Device zu machen. DLNA heißt ja auch UPnP und das nahe
> am VPN, heißt doppelt aufpassen sonst hat man das UPnP im Internet und
> das will man eher nicht.

Wenn man nicht weiss man man da macht gebe ich dir vollkommen recht.

imonbln schrieb:
> OpenWRT und Raspi ist dir zu groß, das scheint mir ein wenig ein
> Widerspruch zu sein.
> Abgesehen davon kenne ich keine DLNA (Server) Implementierung die nicht
> wenigstens einen 32 Bit Prozessor voraussetzt. Mit den ganzen
> Rattenschwanz, den DLNA nachzieht und dein Wunsch auch noch VPN zu
> machen, denke ich das du kaum unter einen Arm & Linux raus kommst.
> Selbst wenn der Chip viel im Silizium hat (was auch keine gute Idee ist
> wie wir gerade bei Intel mitbekommen)

Nunja, also was ist zu groß? Zu groß ist bei mir halt eben das der 
raspberry noch usb, hdmi und den ganzen schnick schnack hat den ich 0 
benötige. Also wirklich nur das LAN Device, DLNA und VPN.

Beispiel, Amazon Fire TV Stick. Der ist klein, hat noch eine 
Fernbedienung und sogar HDMI.

Selbst das wäre mir schon "zu viel" aber der hat eben eine schöne größe.

Ich finde auch nichts wie man z.b. einen Raspberry "kopiert" also halt 
eben sowas wie hier wo das weitgehenst dann um ARM und nicht AVRs geht.

Das Problem besteht dann auch weiterhin in der Crypto. Ich bekomme z.b. 
Raspbian niemals "zu".

Also zur Erklärung. PCB mit µC/ARM/CPU, Programm und LAN Interface.

Anstecken ans LAN, Strom dran und ein paar sek. später steht der DLNA 
Dienst im Netzwerk zur Verfügung.

Nun soll es aber nicht möglich sein an den "Code" zu kommen. In das 
Raspbian könnte man chrooten und, nunja, man kommt an alle Daten etc. 
pp.

Auch ein vollverschlüsseltes Image mit "Passwort-Server" wo sich das 
System dann mit Dropbear an einem weiteren Server authentifiziert und 
dann das Passwort erhält kann man vergessen, wenn man das Passwort 
mitschneidet und ein Image hat oder oder oder

Also müsste ich nun noch Crypto Hardware verbauen. Das ist alles wieder 
Platz der verloren geht.

Also ob nun ein ARM oder nicht ist erstmal egal, aber es muss doch Infos 
geben wie ich einen ARM Minimals beschalte der er läuft. Also z.b. LAN, 
Speicher, RAM und Strom dran, voila, geht. (nur ein Beispiel)

von Schwarzseher (Gast)


Lesenswert?

Wegen der Minimal-Beschaltung:
Schau dir den Vocore oder WRTnode doch mal an. Da ist nicht viel mehr 
als das Minimum drauf.
Und beide schimpfen sich "Open Hardware" oder so, also wird's auch 
irgendwo ein git repository mit Schaltplänen und Layout geben.

Die Billigsten/Einfachsten dieser SoCs kommen aus der WLan-Router-Ecke. 
Kannst die Antennen ja unbeschaltet lassen. (RasPi kommt aus der 
SetTop-Box/Videoplayer-Ecke)

Markus J. schrieb:
> Nun soll es aber nicht möglich sein an den "Code" zu kommen.

Wieviel Aufwand willst du treiben, bzw hältst du für gerechtfertigt?

ein "opkg install minidlna openvpn" hat nicht gerade gigantische 
Schöpfungshöhe.
Da reicht ein Drei-Buchstaben-Passwort im uBoot.

Ansonsten wird's bei der Hardware schon duster. Flash hängt extern dran, 
da kann man mitlesen.

Mittelding wäre ein SoC mit PoP-Flash. Da macht das Auslesen weniger 
Spaß.

von Markus J. (dmant)


Lesenswert?

Was heisst welchen Aufwand will ich betreiben? Der der notwendig ist das 
nicht unauslesbar zu machen, bzw. "dicht" zu machen.

Das Auslesen soll keinen Spaß machen sondern eher unmöglich werden. Das 
soll ein geschlossenes System sein.

Beitrag #5266947 wurde vom Autor gelöscht.
von Rolf M. (rmagnus)


Lesenswert?

Markus J. schrieb:
> Nunja, also was ist zu groß? Zu groß ist bei mir halt eben das der
> raspberry noch usb, hdmi und den ganzen schnick schnack hat den ich 0
> benötige. Also wirklich nur das LAN Device, DLNA und VPN.

Ach so. Man hätte jetzt meinen können, mit "zu groß" meinst du die 
Abmessungen. Warum stört es dich denn, wenn da USB und HDMI dran ist? 
Muss man ja nicht benutzen. Willst du lieber was, das dieses 
Schnittstellen nicht hat, auch wenn's dann teurer ist oder aufwändiger 
aufzusetzen, weil keine vergleichbare Community dahinter steht?

> Ich finde auch nichts wie man z.b. einen Raspberry "kopiert" also halt
> eben sowas wie hier wo das weitgehenst dann um ARM und nicht AVRs geht.

Weil das etwas komplizierter ist als bei einem kleinen 8-Bitter.

> Das Problem besteht dann auch weiterhin in der Crypto. Ich bekomme z.b.
> Raspbian niemals "zu".

Als Antwort würde ich dich da mal zitieren:

Markus J. schrieb:
> Wenn man nicht weiss man man da macht gebe ich dir vollkommen recht.

> Also zur Erklärung. PCB mit µC/ARM/CPU, Programm und LAN Interface.
>
> Anstecken ans LAN, Strom dran und ein paar sek. später steht der DLNA
> Dienst im Netzwerk zur Verfügung.
>
> Nun soll es aber nicht möglich sein an den "Code" zu kommen. In das
> Raspbian könnte man chrooten und, nunja, man kommt an alle Daten etc.
> pp.

Was hast du denn für höchstsensible Daten, für die die millionenfach 
genutzten Dinge nicht ausreichen?

> Also ob nun ein ARM oder nicht ist erstmal egal, aber es muss doch Infos
> geben wie ich einen ARM Minimals beschalte der er läuft. Also z.b. LAN,
> Speicher, RAM und Strom dran, voila, geht. (nur ein Beispiel)

Vom Raspberry Pi gibt's doch Schaltpläne. Da wirfst du einfach die 
Buchsen, die du nicht willst, raus, layoutest dir kurz eine neue 
Platine, dann noch schnell den SOC + Zubehör besorgen, auflöten, fertig.

Markus J. schrieb:
> Was heisst welchen Aufwand will ich betreiben? Der der notwendig ist das
> nicht unauslesbar zu machen, bzw. "dicht" zu machen.

"nicht unauslesbar"? Also soll man es auslesen können?

> Das Auslesen soll keinen Spaß machen sondern eher unmöglich werden. Das
> soll ein geschlossenes System sein.

Dann verbinde es nicht mit dem Internet. Sobald es eine Verbindung nach 
draußen gibt, ist es logischerweise nicht mehr geschlossen und damit von 
außen angreifbar.

: Bearbeitet durch User
von Egon N. (egon2321)


Lesenswert?

DLNA ist harmful.

Fertig aus.

Selbst Plex/Emby empfinde ich schon als sehr dubios. Selbst Kodi ist 
schon grenzwertig.

Um es kurz zu fassen: Multimediaanwendungen sind Krebs.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

DLNA funktioniert mit Broad- und Multicasts, was ohne spezielle 
Konfiguration am (VPN-) Routing scheitert. Das soll nicht heissen, dass 
es gänzlich unmöglich wäre, aber out-of-the-box funktioniert es 
definitiv nicht.

von Markus J. (dmant)


Lesenswert?

Es muss ja auch nichts "out of the Box" sein. Die Frage ist halt 
immernoch Welcher uC/Arm kann das. Und wie gesagt, der Sicherheitsaspekt 
liegt hier ganz klar im Vordergrund.

Ähnlich wie das System der Ps3 oder 4 z.b.

Die Firmware war jahrelang ungeknackt und das nur "noch" sicherer. 
Allerdings ohne die ganzen Futures.

Der muss VPN und DLNA können und muss absolut sicher gemacht werden.

von Schwarzseher (Gast)


Lesenswert?

Markus J. schrieb:
> und muss absolut sicher gemacht werden.

WAS muss sicher sein?

Deine Applikation gegen Reverse-Engineering?

=> Glaube ich erstmal nicht, so wie du das beschreibst ist das kein 
Hexenwerk, Neuprogrammieren ist für einen Plagiator billiger als den 
Code aus deinem Gerät auszulesen.

Wenns aber wirklich das sein soll: ASIC. Alles mit normalen externen 
Flash / RAM Interface bietet exakt da Angriffsfläche.

Auch beachten: Keine Open-Source VPN/DLNA-Komponenten verlinken. Sonst 
zwingt man dich einfach gerichtlich zum Herausgeben des Source-Codes, 
und es ist egal wie sicher dein Chip ist.

Oder:

Nur die VPN-Zugangsdaten/Zertifikat?

Nimm eine 5€ Standardplattform (Beispiele wurden genannt) und einen 10ct 
Smartcard-Chip.

von Markus J. (dmant)


Lesenswert?

Also sicher.

Ich versuche es mal so zu beschreiben.

Ich erstelle eine Platine mit Chips XYZ, LAN usw.

Dort spiele ich "mein Programm" ein und dann funktioniert das, aber WIE 
das da "innen" funktioniert bleibt ein Rätsel.

Zwingen tut mich keiner zu irgendwas.

Beispiel:

Meine Server laufen alle vollverschlüsselt (Debian, dm-crypt und lvm2) 
und müssen über Dropbear und authkey entschlüsselt werden.

Danach bootet er zwar aber weitere Dateien die "wichtig" sind liegen in 
einem weiteren verschlüsselten Container.

Das System gleich alle x min eine bestimmte Datenbank ab, steht da was 
bestimmtes nicht mehr verschließt er den Container, schiebt ihn weg (wie 
ist egal) und wird dann im Netbook gestartet und von einem Kill Server 
formatiert.

Vor gut 4 Jahren gab es mal einen Vorfall und der Server wurde 
sichergestellt bzw die Datenträger. Ebenfalls die verschlüsselten USB 
Sticks und Systeme bei mir zuhause.

Nach einiger Zeit wurde dem Provider die Serverfestplatte und mir meine 
Sticks und Systeme zurück gegeben. OHNE ERFOLG unserer "Behörden".

Nun gut ich gebe zu das die Ermittler hier in Deutschland nicht die 
hellsten sind aber ICH habe zu keinem Zeitpunkt iwas getan und auf 
Nachfrage zu den Passphrases sagte ich nur cool "knackt das System doch"

Klar müsste man bei der NSA die Messlatte höher setzen das DAS ist für 
mich MINIMALISTISCHSTE Sicherheit.

Mein Kill Server hat 2 failover Server in anderen Ländern. Da hat D eh 
nichts zu kacken. Und beim abschalten aller Kill Server formatieren sich 
die Server alle selbst.

Etwas derartiges muss es doch geben.

Wie gesagt, was nutzen Sony etc? Ich schreibe die Software auch komplett 
neu. Aber wie gesagt, SICHER muss das sein.

von Schwarzseher (Gast)


Lesenswert?

Ah. Kann es sein, dass du DLNA nicht zum Musik-Streaming verwenden 
willst, sondern nur zum Port-Forwarding?

Bin bislang von einem "Webradio/Videostreaming über VPN"-Anwendungsfall 
ausgegangen.

Wegen deiner Server-Paranoia: Auf Intel verzichtet?
Dank Intel-Management-Engine kannst du verschlüsselte Container 
ineinanderstecken wie du willst, es gibt trotzdem einen direkten, von 
dir nicht kontrollierbaren Kanal zwischen Netzwerk und RAM.

Dank Spectre/Meltdown/Rowhammer geht inzwischen für "Normal-Cracker" 
(ohne Backdoor-Key zur ME) Ähnliches.

--> RAM auch verschlüsseln.
http://developer.amd.com/wordpress/media/2013/12/AMD_Memory_Encryption_Whitepaper_v7-Public.pdf
Intel bietet ähnliches.

(Hilft gegen Cold-Boot, und in der SEV-Variante wohl auch gegen DMA von 
der ME, aber nicht gegen Speculative Execution von Kernel-Code)



Zu deinem Device:

Es gibt durchaus Anbieter von MIPS - Cores, die Vollverschlüsselung 
bieten.

Ob nur als IP-Core oder auch als Off-the-Shelf Hardware musst du selber 
suchen.

von Vka (Gast)


Lesenswert?

Also willst du quasi einen "Warrant Canary" in Hardware bauen?
Dann würde ich mal bei Smartcard oder TPM schauen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.