Avatar billede janni_jensen Nybegynder
08. maj 2003 - 10:36 Der er 11 kommentarer og
1 løsning

Eksekvering af kode via java og C#

Hej jeg har et spørgsmål vedr. ekseveringen af kode fra java og C# samt sikkerhed. I java bruges der en sandbox model til at håndhæve sikkerhed, bruges den kun når vi snakker Applets og RMI eller andet over netværk? Hvor så lokal kode bare eksekverers? Og er det ikke kun en securitmanager der bruges samt policy? Og kan det passe  i java er det i princippet ligegyldigt hvor koden kommer fra, det der fokuseres på er de tilladelser den har på maskine og man optionelt kan sætte bruger samt certifikat godkendelse på?

I C# kører alm kode også bare igennem clr, men hvis det er fra netværket skal det igennem codebased samt rolebased sikkerhed, så man derved kan sige at der fokuseres på hvor koden kommer fra og fra hvem eller skal det altid igennem det sikkerhedstjek og dermed altid have større sikkerhed end java? Eller hvordan hænger det sammen???
Avatar billede disky Nybegynder
08. maj 2003 - 10:42 #1
Det er kun Java applet's der kører i en sandkasse for at sikre sikkerheden.

Hvis du downloader et java program er det helt ligegyldigt hvor den kommer fra, men hvis det er en java applet, kan den kun snakke med den server den kommer fra af sikkerhedsmæssige årsager.
Du kan dog snakke med andre hvis den har et sikkerhedscertifikat.
Selv ikke maskinen applet'en afvikles på kan der hentes noget fra (heldigvis)


Hvad c# gør ved jeg ikke.
Avatar billede arne_v Ekspert
08. maj 2003 - 10:50 #2
I Java 2 kar enhver Java applikation sætte en SecurityManager
som restricter adgang til diverse ting udfra en security policy.

Applets kører default i en rimeligt restriktiv sandbox.

Du kender tilsyneldende RMI security manageren også.

Det er også set at man enabler en security manager
i en JSP/servlet container.

Men principielt kan det bruges til både net og lokalt brug.

Java security bygger normalt på at give en bestemt codebase
(hvilken URL koden er hentet fra over net - eller hvilken jar-fil
på disk koden er hentet fra lokalt) en bestemt adgang  eller ej.

Så der er definitivt check på hvor koden kommer fra.

Det kan så suppleres med at signe kode.

Hvis man bruger JAAS kan man også checke på hvilken bruger
der kører koden.

The bottom line er at Java 2 security er så fleksibel at du kan
skræddersy den til de fleste (alle?) problem-stillinger.
Avatar billede janni_jensen Nybegynder
08. maj 2003 - 11:18 #3
ok men når man bruger RMI til en appliaktion er det så ikke bedst at sætte en securitymanager selv om man ikke downloader classer men kun data fra en anden database? Eller er det kun til applets at sandbox modellen bruges, samt default er det kun en policy fil der laves ikk? Men i har ide om hvordan det gøres på C#/CLR siden eller hvad?
Avatar billede arne_v Ekspert
08. maj 2003 - 11:26 #4
Hvis du kører i et meget sikkert environment kan du godt køre
RMI uden security manager.

Men ellers skal du. Det er nødvendigt fordi du faktisk downloader
kode (stubben hentes fra RMIregistry).

Applet sandbox var et concept i Java 1. I Java 2 har man brugt
et generelt concept til at emulere samme funktionalitet som
Java 1 sandboxen.

Man kan bruge security manager og policy på hvad som helst.

Jeg kender ikke C# og CLR specielt godt.

Men jeg vil tro at:
  C# codebase sikkerhed ~= "normal" Java 2 security som også kører codebased
  C# rolebased sikkerhed ~= JAAS rolebased
Avatar billede janni_jensen Nybegynder
08. maj 2003 - 12:31 #5
Ok så java kører default med code based samt det gør C# også hvorimod C# default tilbyder role based også som ikke er default i java eller hvordan? Er der noget forskelle på de 2 sikkerhedsmodeller ud fra den viden du har?
Avatar billede arne_v Ekspert
08. maj 2003 - 12:44 #6
Der er sikkert nogle forskelle.

Men jeg kender ikke´nok til C# til at kunne sige præcis hvad.
Avatar billede janni_jensen Nybegynder
08. maj 2003 - 16:08 #7
ok men kan du svarer på dette så?
Ok så java kører default med code based samt det gør C# også hvorimod C# default tilbyder role based også som ikke er default i java eller hvordan?
Avatar billede arne_v Ekspert
08. maj 2003 - 16:13 #8
Java 2 (Java SDK 1.2 og nyere) har altid brugt codebased.

Rolebased (JAAS) kom som et separat kit til Java SDK 1.3.x - I Java
SDK 1.4.x og nyere er JAAS default med.

Der er skrevet rigtigt meget om JAAS. Men det er mit indtryk, at det
er meget meget lidt brugt.
Avatar billede janni_jensen Nybegynder
08. maj 2003 - 16:19 #9
hmm jeg fik hjælp ja men ikke fyldstgjort mine sprøgsmål så derfor får ingen af jer point.
Avatar billede arne_v Ekspert
31. maj 2003 - 19:09 #10
Bliv ikke overrasket hvis entusiasmen for at hjælpe dig næste
gang du har et spørgsmål vil være minimal !
Avatar billede janni_jensen Nybegynder
31. maj 2003 - 20:58 #11
Bliv ikke overrasket over at jeg forventer mere en anden gang, for du kan da ikke forvente at jeg skal give 60 point når jeg ikke har fået svar på mit spørgsmål, det er da utopi af dig at tænke det.
Avatar billede arne_v Ekspert
01. juni 2003 - 15:33 #12
Du fik svar på mange af dine spørgsmål. Korrekte svar.

Ikke svar på alle spørgsmålene.

Men dem der svarer har en forventning om der uddeles point svarende
til den andel af spørgsmålene der besvares (korrekt).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester