Frage:
Wie würden Sie jemanden daran hindern, sein beständiges Cookie an jemanden zu verkaufen, der kein Mitglied der Institution ist und Zugriff erhalten möchte?
Dimitris
2017-05-03 17:00:38 UTC
view on stackexchange narkive permalink

Die meisten unserer Verlage verkaufen Abonnements an Institutionen, und Personen erhalten Zugriff, indem sie als Teil der Institution identifiziert werden. Diese Institution-Authentifizierung erfolgt mit IP-Bereichen oder Shibboleth, aber nicht alle Institutionen unterstützen Shibboleth oder andere SAML, und IP-Bereiche helfen nicht ohne VPN oder Proxyserver. Die Verlage möchten daher, dass wir ein Schema entwickeln, mit dem ein Benutzer kurzfristig Zugang zu seinem institutionellen Bestand (dh zu den von seiner Institution abonnierten Inhalten) erhält, während er sich außerhalb des IP-Bereichs der Institution befindet (z. B. zu Hause oder auf Reisen) .) Die Lösung muss für den Benutzer so einfach wie möglich sein, es sollte nicht erforderlich sein, dass er etwas herunterlädt, und sie sollte für Benutzer, die von Mobiltelefonen oder von ihren Laptops kommen, gut funktionieren. Der Prozess kann erfordern, dass die Benutzer diesen Zugriff innerhalb des IP-Bereichs initiieren. Idealerweise sollten sie jedoch in der Lage sein, ihren 30-Tage-Zugriff zu initiieren, auch wenn sie nicht in der Einrichtung sind und vergessen haben, ihn einzurichten.

Geben Sie insbesondere an, wie der Benutzer behaupten wird, Mitglied (Fakultät, Student, Angestellter usw.) der von ihm beanspruchten Institution zu sein. Denken Sie daran, dass die Institution keinen Authentifizierungsserver hat und keinen installiert. Außerdem installiert der Benutzer keine Anwendung auf seinem Computer. Die vollständige Lösung beinhaltet ausnahmslos irgendwann ein dauerhaftes Cookie. Wie würden Sie verhindern, dass jemand sein dauerhaftes Cookie an jemanden verkauft, der kein Mitglied der Institution ist und Zugriff erhalten möchte?

Benutzernamen und Passwörter, die die E-Mail-Domain der Institution verwenden, sind hierfür das gängige Entwurfsmuster
Trotzdem kann er / sie seine / ihre Anmeldeinformationen verkaufen.Was ist mit der MAC-Adresse, die in die Sitzungs-ID eingefügt werden soll?
@Dimitris MAC-Adressen können gefälscht werden.
Wenn Ihr Bedrohungsmodell davon ausgeht, dass Ihre Benutzer die Angreifer sind, gibt es meines Erachtens keine adäquate Lösung für das, wonach Sie suchen.
Erlaube keine dauerhaften Cookies.
Können Sie verhindern, dass jemand einen VPN-Server in seinem IP-Bereich ausführt?
Können Sie tatsächlich verhindern, dass jemand die Daten auf ein USB-Stick herunterlädt?
Wenn Alice Zugriff auf den Inhalt hat und Sie Bob erfolgreich daran hindern, die Anmeldeinformationen von Alice für den Zugriff auf das System zu verwenden, können Sie verhindern, dass Alice den Inhalt legitim erhält und ihn per E-Mail / Google Drive / Dropbox / USB-Stick / Ausdruck / an Bob weitergibt.usw.?Wenn Sie einen entschlossenen "Kreditnehmer" und einen willigen "Sharer" haben, werden Sie eine außerschulische Verteilung nicht verhindern.Alle diese Methoden sind viel einfacher als der Verkauf (oder die freie Verteilung) validierter Cookies.
Klingt schrecklich nach PACERs Problem mit RECAP.
Klingt für mich eher nach EBSCO.
Möchten Sie dies verhindern oder die Leute davon abhalten, es zu tun?100% ige Prävention wird niemals (niemals) funktionieren, aber wenn Sie nach Reibung für den Prozess suchen, ist dies eine andere Sache.
Elf antworten:
cloudfeet
2017-05-03 17:27:18 UTC
view on stackexchange narkive permalink

Können Sie verhindern, dass jemand sein Passwort verkauft, um einen ähnlichen Zugriff zu erhalten? Glaubst du, du musst? Es ist ziemlich gleichwertig.

Müssen Sie dies tun?

Aufgrund meiner Erfahrung innerhalb / außerhalb akademischer Institutionen mit Journalzugriff gibt es immer eine gewisse Menge an Ressourcen als Gefallen ( zB "Hey, kannst du mir ein PDF dieses Papiers schicken?"). Sie werden das nie aufhalten können, da ein legitimer Benutzer auf einem korrekten Computer tatsächlich manuell darauf zugreift. Ich persönlich habe jedoch noch nie gesehen, wie Studenten / Mitarbeiter versucht haben, damit Geld zu verdienen.

Überwachung

Selbst wenn sie so Geld verdienen wollten, denke ich nicht, dass sie Cookies teilen ist der beste Weg - es ist sicherlich nicht so, wie ich es machen würde! Schutzmaßnahmen, die Sie dem Cookie-System hinzufügen können (z. B. Fingerabdruck des Browsers des Benutzers und Überprüfung, dass dieser gleich bleibt usw.), gelten nicht für andere Methoden.

Stattdessen (wenn dies tatsächlich ein Problem ist), a Eine vernünftige und robuste Lösung besteht darin, die Nutzungsmuster der Benutzer zu überwachen. Wenn sie das 100-fache der Ressourcen anderer herunterladen oder wenn sie 250 Stunden lang ununterbrochen Ressourcen abrufen (die längsten Menschen können ohne Schlaf überleben), arbeiten wahrscheinlich mehrere Benutzer oder ein automatisiertes System.

Diese Überwachungslösung muss jedoch nicht von Anfang an enthalten sein, sondern kann später hinzugefügt werden - und bis Sie Beweise dafür haben, dass es sich tatsächlich um ein Problem handelt, sollte es meiner Meinung nach ziemlich weit unten liegen Liste der zu erledigenden Dinge.

Was ist mit der MAC-Adresse, die in die Sitzungs-ID eingefügt werden soll?Ist dies eine zuverlässige Methode, um zu vermeiden, dass sich Dritte auf der Webseite anmelden?
@Dimitris: Sie können verschiedene Maßnahmen ergreifen, um die Cookies enger mit einem bestimmten Computer / Browser zu verknüpfen. Dies schützt jedoch nur vor dem Teilen von Cookies und nicht vor anderen Methoden zum Teilen des Zugriffs.
Nein, das ist keine robuste Lösung, auch wenn die Tatsache ignoriert wird, dass MAC-Adressen geändert werden können.
Warum genau teilt jemand seinen Zugriff, nur weil er etwas wie JDownload zum Herunterladen von Inhalten verwendet?Das Herunterladen von Daten ist so ziemlich das einzige Merkmal der Plattform
@Dimitris Wie würden Sie überprüfen, ob das Gerät tatsächlich die richtige MAC-Adresse hat?Sofern sich das Gerät nicht zufällig im selben Ethernet-Netzwerk wie Ihr Server befindet (was nicht passieren wird), können Sie die MAC-Serverseite des Geräts nicht sehen.
@Dimitris Triviale Problemumgehung, die grundsätzlich alle möglichen hardwarebasierten Lösungen umgeht: Klonen einer VM.Richten Sie eine VM in Azure ein und geben Sie Anmeldeinformationen für diese frei.
Auch die Mac-Adressen können sich ändern.Von Ethernet zu Wifi und zurück zweimal täglich, gelegentlich zum GSM-Modul Mac, und natürlich musste sich meine übereifrige Firewall mit ihrem eigenen virtuellen Netzwerkadapter mit dem neuesten Update einschalten ...
@Voo Dies ist genau das, was ein Unternehmen, bei dem ich gearbeitet habe, mit Microsoft Office gemacht hat. Es hat nur eine Lizenz bezahlt und Sie mussten sich mit der Instanz abwechseln.
Ich denke nicht, dass der Verkauf eines Passworts und ein Authentifizierungs-Cookie ** überhaupt ** gleichwertig sind.Wenn ein Authentifizierungscookie ordnungsgemäß eingerichtet ist, können Sie auf Bibliotheksmaterialien zugreifen, und sonst nichts.Das institutionelle Passwort würde es in vielen Institutionen einem Angreifer ermöglichen, alle Interaktionen des Benutzers mit der Institution zu übernehmen, sich im Netzwerk zu VPNen, sich bei allen Arbeitscomputern anzumelden und von dort aus möglicherweise seine Bankkonten zu leeren und seine E-Mails zu übernehmenund ihre Social-Media-Präsenz zerstören.
R.. GitHub STOP HELPING ICE
2017-05-04 06:02:17 UTC
view on stackexchange narkive permalink

Sie nicht.

Diese Frage ist im Grunde eine Variante von "Wie mache ich DRM und wie funktioniert es?" und die Antwort ist dieselbe.

Ich bin mir nicht sicher, warum "Verkauf eines dauerhaften Cookies" Ihre primäre Bedrohung darstellt. Normalerweise veröffentlichen Benutzer Ihre Veröffentlichungen nur erneut in SciHub.

So ziemlich das (+1).DRM-Lösungen funktionieren nicht ohne Grund, und dieser Grund ist, dass Computer ursprünglich als voll programmierbare Maschinen konzipiert wurden.Die einzige Möglichkeit, DRM (oder die Papierzugriffslösung OP ist danach) funktionsfähig zu machen, besteht darin, einem Benutzer den Zugriff auf die Ressource nur von Hardware zu ermöglichen, die zu 100% unter Ihrer Kontrolle steht.(Was für einen Verlag nicht realisierbar ist)
GdD
2017-05-03 19:34:59 UTC
view on stackexchange narkive permalink

Die Cookie-Kontrolle ist keine gute Lösung für Ihr Problem, das nicht so genau definiert ist. Sie könnten viel Zeit darauf verwenden, Benutzer daran zu hindern, ihre Cookies zu versenden, aber Sie blockieren wahrscheinlich den legitimen Zugriff so oft, dass Sie den guten Willen Ihrer Kunden verlieren, und der Aufwand ist wahrscheinlich unverhältnismäßig zu den Vorteilen. Einige mögliche alternative Strategien wären:

  • Begrenzen der Anzahl der Geräte, von denen aus sich ein Benutzerkonto anmelden kann. Wenn auf einem oder mehreren Geräten ein Benutzerkonto aktiv ist, kann dies ein Zeichen für Missbrauch sein.
  • Geografische Standortverfolgung. Wenn gleichzeitig in Boston und Peking auf ein Benutzerkonto zugegriffen wird, kann dies ein Missbrauch sein / li>
  • Bei der Einführung einer 2-Faktor-Authentifizierung müsste ein Benutzer gelegentlich einen zusätzlichen Code eingeben. Dies ist, um ehrlich zu sein, problematisch, es ist teuer einzurichten und zu warten, und die Leute würden ständig ihre Pins vergessen, um einen Token zu erhalten. Auf der positiven Seite können Sie keine Token-Generatoren freigeben. Jemand könnte seinen Token-Code immer noch an einen anderen senden, aber es macht es schwieriger, Anmeldeinformationen gemeinsam zu nutzen.
  • Überwachen Sie Benutzermuster auf Missbrauch. Sie könnten einen Algorithmus für maschinelles Lernen für Benutzerstatistiken oder einfach nur alte Schwellenwerte verwenden wie @cloudfeet vorschlägt
  • Haben Sie zusätzliche Sicherheitsfragen, für die persönliche Informationen als Antwort erforderlich sind. Nur wenige Menschen vertrauen jemand anderem diese Informationen. Oft sind es die gleichen Informationen wie auf einer Bank-Website oder ähnlichem, sodass sie davon abgehalten werden, sie weiterzugeben. Dies führt zu Problemen für Sie als Websitebesitzer, da Sie jetzt für mehr persönliche Informationen verantwortlich sind.
  • Senden Sie regelmäßig E-Mails, die Sie an ihre Verpflichtungen erinnern. Es wird nicht jeden aufhalten, aber sanfte, höfliche Produkte werden funktionieren einige
Wie können Sie feststellen, welches Gerät ein Benutzer verwendet, um die Anzahl der Geräte zu begrenzen?
In den meisten Fällen basiert die Geolokalisierung auf IP.Ein legitimer Benutzer könnte seine Gründe haben, VPNs zu jonglieren.
2FA kann gemeinsam genutzt werden, da es auf einem geheimen Schlüssel basiert, von dem ein eindeutiger Code aus der aktuellen Zeit abgeleitet wird.Sie müssen nur diesen geheimen Schlüssel teilen und können Ihre eigenen Codes generieren.Dies ist in einem TOTP-Szenario der Fall.
Drei Geräte: Arbeitsdesktop, Heimdesktop, Smartphone.Wenn Sie die Anzahl der Geräte begrenzen möchten, sind vier oder fünf die bessere Anzahl.
Es ist selten, dass Sie eine klobige wissenschaftliche Arbeit auf einem Smartphone lesen möchten. @Mark,, auf jeden Fall habe ich 3 als Beispiel ausgewählt
Es hängt von der 2fa-Lösung @Ginnungapgap, ab. Viele verwenden ein gemeinsam nutzbares Geheimnis, andere jedoch nicht. Ich gehe davon aus, dass Sie eines verwenden würden, das nicht auf einem gemeinsam nutzbaren Geheimnis basiert.
@Mark Der Satz lautete "_Wenn Sie ein Benutzerkonto ** auf 3 Geräten oder so aktiv ** sehen **" - Sie können Work / Home / Mobile zu unterschiedlichen Zeiten verwenden, es ist jedoch unwahrscheinlich, dass Sie auf allen drei Geräten gleichzeitig aktiv sind!Außerdem deutet das "_oder so_" darauf hin, dass die Nummer nicht in Stein gemeißelt ist.
Steven Walker-Roberts
2017-05-04 10:58:36 UTC
view on stackexchange narkive permalink

Ich denke, alle oben genannten Antworten sind falsch. @Andy hat wahrscheinlich Ihre Frage beantwortet, wenn auch viel zu vage. Das Problem besteht darin, dass (a) Sie davon ausgehen, dass Ihre Benutzer ein Bedrohungsvektor sind (Cookies ausnutzen, um nicht autorisierten Zugriff zu erhalten) (b) Sie Cookies als Teil Ihres Authentifizierungsmechanismus verwenden möchten. Was Sie tatsächlich implementieren möchten, ist eine Art von Null-Vertrauenssicherheit, ein Modell, das besagt, dass keinem Benutzer auf jeden Fall in irgendeiner Hinsicht vertraut werden sollte (dies ist zunächst ziemlich schwer zu verstehen).

Im Wesentlichen bedeutet dies, dass Sie Cookies verwenden können, dies sollten jedoch nur Sitzungscookies sein. Shibbeloth und andere ähnliche Designs für akademische Einrichtungen in Großbritannien verwenden eine Kombination aus Sitzungscookies, Authentifizierung durch Dritte (an der Einrichtung) und datenbankgestützter Sitzungsauthentifizierung (im Vergleich zu den beiden anderen). Tatsächlich überprüft es die Institution normalerweise auch auf Benutzerrechte (dh wenn Sie Informatik studieren, benötigen Sie keine medizinische Bibliothek usw.).

Die Verwendung eines dauerhaften Cookies ist also Ihr Problem ein definitives Nein-Nein. Sie scheinen das Risiko bei der Verwendung eines dauerhaften Cookies bereits zu verstehen, dh es kann gestohlen werden (normalerweise im Klartext). Verwenden Sie daher im schlimmsten Fall nicht persistente Sitzungscookies.

Wenn Sie diese Authentifizierungsmethode verwenden, sollten Sie meiner Ansicht nach die Cookies regelmäßig widerrufen und den Benutzer erneut anmelden . Wie ich bereits erklärt habe, ist Shibbeloth vom Design her vielschichtig, da es Ihre Anmeldeinformationen mit denen Ihrer Universität vergleicht. Bessere Designs würden nicht nur Benutzerinformationen vergleichen, sondern mehr als einen Berechtigungsnachweis erfordern (d. H. Eine Textnachricht, eine E-Mail oder eine geheime Antwort wie beim Online-Banking).

Realistisch gesehen können die meisten webbasierten Anwendungen enorm davon profitieren, dass sie zustandslos sind (abhängig von der Anwendung und Ihren Benutzer- / Systemanforderungen). Sie können Sitzungscookies also fast vollständig aus dem Bild entfernen, indem Sie sie verwenden, bis das Browserfenster geschlossen ist / die Zeit abgelaufen ist, oder indem Sie einen verschlüsselten clientseitigen Benutzerspeicher verwenden (bessere Lösung).

Unter anderem Wie andere Benutzer bereits gesagt haben, z. B. Fingerabdruck-Browser und Überwachung der Nutzungsmuster, gibt es viele Strategien, die Sie anwenden können. Sie können auch IP-Whitelisting, Anti-DDoS, regelmäßigen Rollover von Anmeldeinformationen usw. verwenden. Diese sind komplementär, aber keine Lösung für sich.

Was Sie niemals tun dürfen, ist die Priorisierung von Sicherheits- und Softwarefehlern für Benutzer Verbesserung erfahren (sie sind übrigens dasselbe). Wenn Sie dies tun, könnten Sie eines Tages für eine Datenschutzkatastrophe verantwortlich sein (und möglicherweise ins Gefängnis gehen und / oder viel Geld verlieren).

Um das, was Sie suchen, vollständig umzusetzen, verwenden Sie a Webanwendung (wahrscheinlich Javascript-basiert), die nicht installiert werden muss. Diese Anwendung sollte so programmiert sein, dass sie Ihre API vollständig implementiert und das ganze schwere Heben für den Benutzer erledigt. Es sollte idealerweise eine rollenbasierte Zugriffskontrolle (RBAC) über diese API durchführen (identifizieren Sie also die verschiedenen Benutzergruppen, die Sie erwähnt haben). Offensichtlich muss der RBAC auf der Serverseite implementiert werden. Es gibt keinen Grund, warum Ihre API diese nicht direkt oder über einen anderen Kanal wie ein auf Textnachrichten basierendes Token bereitstellen oder verknüpfen kann.

Ich hoffe, dies gibt Ihnen Anlass zum Nachdenken zu Ihrem Design.

"Was Sie niemals tun dürfen, ist die Priorisierung von Sicherheits- und Softwarefehlern zur Verbesserung der Benutzererfahrung."DRM hat nichts mit Sicherheit zu tun.Dies ist nur eine der vielen, vielen Geschäftsanforderungen, von denen eine andere die Benutzererfahrung ist.Wenn Sie das perfekte DRM entworfen haben, das niemand verwenden wollte, sind Sie immer noch nicht im Geschäft.
+1, aber in Bezug auf Ihre Behauptung, dass "[man darf niemals] die Priorität der Sicherheit herabsetzen ... für die Benutzererfahrung ...", erscheint mir dies als grobe Übertreibung.Nicht jedes System schützt nukleare Startcodes und dergleichen.Auf der anderen Seite der Medaille können Sie das sicherste System der Welt bauen, aber wenn niemand daran interessiert ist, es zu verwenden, war alles eine vergebliche Übung.In der realen Welt sorgen sich außerordentlich wenige in diesem Maße um die Sicherheit (viel zu wenig Bedenken im Allgemeinen, würde ich annehmen), aber es ist nicht oft praktikabel, * maximale * Längen zu wählen, um Daten zu schützen, was mehr als nur nicht der Fall isthalbkritisch.
Vielen Dank für Ihre Kommentare.Ich kann die Logik in dem sehen, was Sie sagen, aber ich kann nicht zustimmen.In Blue-Chip-Unternehmen ist Software heutzutage besonders schwer zu hacken - zum Beispiel Facebook.Alles ist jedoch bis zu einem gewissen Grad hackbar, da es auf die eine oder andere Weise ausgenutzt werden kann. Kann das operative Wort sein.Mein Punkt ist, dass die meisten Hacks heutzutage Zero-Day-Exploits sind, die auf das System zugeschnitten sind.Eine Datenverletzung oder DRM-Verletzung ist also eine Frage des Zeitpunkts, nicht des Falls.Die Frage ist, ob Sie es mildern wollen oder nicht.
Nicht alle Datenverletzungen sind gleich, und die Kompromisse variieren.Man kann sich durchaus dazu entschließen, einige Fälle zu entschärfen und andere nicht zu entschärfen. Wenn ein Benutzer, der den Zugriff auf ein nicht privilegiertes Konto teilt, zu einem vollständigen Verstoß führen kann, müssen die größeren Probleme behoben werden, die eine Eskalation / Hebelwirkung ermöglichen.
@Steven Es gibt einen ziemlich einfachen Weg, um den Prozess fast unmöglich zu machen: Benutzer müssen benutzerdefinierte Hardware verwenden, die unter Ihrer Kontrolle steht, um auf die Daten zuzugreifen.Nun, dies ist eindeutig schrecklich UX und außerordentlich teuer, aber dies wäre eindeutig sicher und sehr, sehr schwer zu brechen.Sind Sie sich immer noch sicher, dass wir die Sicherheit * niemals * priorisieren sollten und dass sie möglicherweise nicht so schwarzweiß ist?:-)
Selbst wenn es sich um weniger lächerliche Beispiele handelt, tauschen wir alle jeden Tag Sicherheit gegen UX aus.Ich habe für ein Unternehmen gearbeitet, das über ein Netzwerk mit Luftspalten verfügte, in dem das Ein- und Auslesen von Daten sehr kompliziert war.Obwohl es sicherlich viel sicherer als die Alternative war, litt die Entwicklung stark darunter (wenn Sie nicht in einer solchen Umgebung gearbeitet haben, können Sie sich wahrscheinlich nicht vorstellen, wie ärgerlich selbst einfache Dinge sein können).Für die meisten Unternehmen wäre ein Kompromiss zum Beispiel eindeutig nicht wert.
Es gibt immer Kompromisse zwischen Benutzererfahrung und Sicherheit.Es ist sinnlos zu sagen, dass Sie die Benutzererfahrung niemals in den Vordergrund stellen können.Sicherlich wären die Zeitschriftenartikel hier sicherer, wenn man sie nur persönlich unter Begleitung eines bewaffneten Wachmanns auf sie zugreifen könnte, nachdem das Kuratorium ihrer Institution überprüft hat, dass sie berechtigt sind, auf sie zuzugreifen (und jemand anderes hat überprüft, dass dies wirklich der Fall istdas Board, etc ...), aber es wäre eine schreckliche Benutzererfahrung.Der Trick besteht darin, zu wissen, welche Kompromisse wie gemacht werden müssen, und nicht die kategorischen Regeln, nach denen Sicherheit immer an erster Stelle steht.
Ich denke, dass die ganze Philosophie hinter Zero Trust darin besteht, dass es keinen Kompromiss geben muss, sondern nur einen Perspektivwechsel.Mein Punkt ist, dass Benutzererfahrung / Benutzerfreundlichkeit und Sicherheit sich nicht gegenseitig ausschließen müssen. Sie müssen nur von dem Grundsatz ausgehen, dass nichts vertrauenswürdig ist.Im Fall dieser Frage würde die beste Sicherheit / DRM erreicht, wenn dem Benutzer / der Authentifizierung nicht vertraut wird.Diese Designphilosophie ist ein heißes Forschungsthema in der Informatik (ich recherchiere es selbst).Der Grund?Selbst trivial scheinbar harmlose Heldentaten können später zu größerer Sabotage führen.
Xavier J
2017-05-03 23:19:36 UTC
view on stackexchange narkive permalink

Machen Sie es wie die Banken, Lyft und andere Organisationen. Der Benutzer muss einen Text oder eine E-Mail mit einem Validierungscode erhalten, bevor Sie den Anmeldevorgang abschließen können.

Der Begriff hierfür lautet "[Zwei-Faktor-Authentifizierung] (https://en.wikipedia.org/wiki/Multi-factor_authentication)."
Joel Coehoorn
2017-05-05 19:57:41 UTC
view on stackexchange narkive permalink

Das klingt sehr nach EBSCO. Ich bin der Administrator einer Institution, die die Premiere der akademischen Suche, PsycArticles, JStor und einige andere EBSCO-Abonnements verwendet.

Im Moment verlassen wir uns (wie viele andere auch) auf EZProxy, aber diese Lösung wird immer weniger haltbar, da mehr Inhalte SSL / TLS enthalten. Proxy für verschlüsselten Datenverkehr ist keine sehr gute Idee.

Ich kann Ihnen sagen, dass diese Vorstellung, dass Institutionen Shibboleth oder SAML nicht durchführen können, zunehmend ungenau ist. Es gibt einige, aber es ist Zeit für sie, sich mit dem Programm vertraut zu machen und einen SSO-Identitätsanbieter in Betrieb zu nehmen. Wenn meine Sub-400-FTE-Einrichtung dies kann, können sie es auch. Sie können sich auch OAuth ansehen.

Als Ersatz für diejenigen mit wirklich inkompetenten IT-Mitarbeitern können Sie Konten selbst verwalten. Fordern Sie die Institutionen auf, in jedem Semester einen Bericht mit E-Mail-Adressen für Lehrkräfte und Studenten hochzuladen, Einladungen für diejenigen auf der Liste zu versenden, die neu sind, das Ablaufdatum für diejenigen, die zurückkehren, zu verlängern und die Konten für die Institution zu sperren, die es sind nicht mehr in der Liste.

Sicher, als Benutzer könnte ich jemand anderem Zugriff gewähren, aber das gilt auch für jeden anderen Dienst. Selbst mit dem vorhandenen System konnte ich mich zu Hause am Laptop eines anderen anmelden. Sie werden nicht wirklich etwas verloren haben.

Ich habe festgestellt, dass einige Institutionen Probleme mit EZProxy haben, da es schwierig sein kann, verschlüsselten Datenverkehr für viele Benutzer zuverlässig zu konfigurieren.Viele Universitäten verwenden heutzutage Google- und Microsoft-Konten für SSO, und dies wiederum bei Shibboleth.
In diesem Fall meiner Institution sind wir hauptsächlich billig.Wir führen immer noch eine ezproxy-Version aus dem Jahr 2005 aus, die nur kompromittierte RC4-SSL-Protokolle anstelle von TLS verwenden möchte, und ich kann keine Genehmigung für ein Upgrade erhalten.Obwohl dies meinen Vorgesetzten gerecht wird, beruht ihre Zurückhaltung auf der Tatsache, dass Sie das Programm nicht mehr einfach kaufen können.OCLC verkauft es jetzt nur mit einem Jahresabonnement, bei dem die jährliche Verlängerung mehr kostet, als wir vor 12 Jahren ausgegeben haben, um es an erster Stelle zu bekommen.Es ist effektiv mehr als eine 10-fache Preiserhöhung.
HSchmale
2017-05-04 02:33:07 UTC
view on stackexchange narkive permalink

E-Mail an die Institution per E-Mail mit einem Link, der ein kurzlebiges Cookie (3 Tage) in ihrem Browser erstellt. Dies ist eine einmalige Verwendung. Institutionen haben fast immer eine E-Mail. Erlauben Sie ihnen, die E-Mail-Adresse ihrer Institution einzugeben. Dies verhindert, dass das Journal mit Passwörtern im System umgehen muss, und ermöglicht es Professoren, an die Arbeit zu gehen.

AnoE
2017-05-04 03:27:40 UTC
view on stackexchange narkive permalink

Ich gehe davon aus, dass Sie sich keine Sorgen darüber machen, dass hohe Geldsummen gestohlen werden (wie bei einem Bankgeschäft). Wenn Ihnen die tatsächliche 2-Faktor-Authentifizierung oder sogar das "physische Werden" (Kartenleser) zu viel ist, wie wäre es damit:

  • Implementieren Sie eine regelmäßige Anmelde- / Kennwortauthentifizierung (natürlich mit HTTPS)
  • Nehmen Sie Ihr Sitzungscookie und erstellen Sie ein zweites Cookie, das aus Hash (session_cookie + IP + geheimes Salz) besteht.
  • Wenn Sie Fügen Sie daher die SSL-Sitzungs-ID zu diesem Hash hinzu (der das Schließen des Browsers nicht fortsetzt, was für Sie gut ist). Dies kann zu Unannehmlichkeiten führen, wenn eine Partei eine Neuverhandlung einleitet (wodurch Sie eine neue Sitzungs-ID erhalten und den Benutzer gezwungen werden, sich erneut anzumelden).
  • Neben der Überprüfung des Sitzungscookies überprüfen Sie auch die Client-IP für jede einzelne Anforderung mit diesem zweiten Informationsbit (das, wie gesagt, ein zweites Cookie sein oder mit dem ersten verkettet sein kann, spielt keine Rolle). .

Jetzt kann der Benutzer das Cookie nach Herzenslust weitergeben, und niemand kann es verwenden, es sei denn, er kann auch die IP-Adresse fälschen (in diesem Szenario eher unwahrscheinlich; wahrscheinlich viel schwieriger) als der ursprüngliche Benutzer nur Inhalte weiterleitet, die er rechtmäßig heruntergeladen hat) und / oder die SSL-Sitzungs-ID (unmöglich).

Wie wäre es mit einem einfachen Benutzernamen / Passwort (wie in dieser Antwort erwähnt), ABER der Kontoerstellungsprozess wird entweder von der lizenzierenden Institution per API-Aufruf durchgeführt oder kann nur über die Netzblöcke der Institution durchgeführt werden.Sobald das Konto erstellt wurde, normale Benutzer- / Pass-Authentifizierung.Wenn Sie sich Sorgen über die gemeinsame Nutzung von Konten machen, fügen Sie 2 Faktoren hinzu, indem Sie eine E-Mail mit einem Link senden, der den Authentifizierungsprozess an die von der Institution des Benutzers angegebene Adresse abschließt
user2428118
2017-05-04 17:15:43 UTC
view on stackexchange narkive permalink

Da es noch niemand erwähnt hat, wäre Browser-Fingerabdruck eine andere Schwierigkeit, ein Cookie an anderer Stelle zu verwenden. Grundsätzlich müssen Sie die Eigenschaften der verwendeten Software und Hardware untersuchen, die auf irgendeine Weise durchgesickert sind, und diese als "Fingerabdruck" verwenden, um das verwendete Gerät zu identifizieren.

Natürlich müssen Sie das Gerät senden Irgendwann einen Fingerabdruck auf Ihren Server, damit Sie überprüfen können, ob eine Sitzung nicht in einem anderen Browser und / oder Gerät verwendet wurde, sodass ein entschlossener Angreifer zu diesem Zeitpunkt versuchen könnte, die Daten so zu ändern, dass sie den von gesendeten Informationen entsprechen der Browser des tatsächlichen Benutzers. Abhängig von Ihrer Implementierung kann dies jedoch verwendet werden, um die Messlatte zumindest etwas höher zu legen.

user1258361
2017-05-05 02:19:03 UTC
view on stackexchange narkive permalink

Eine Cookie-basierte Lösung hindert Benutzer nicht daran, ihre Konten zu verkaufen / zu vermieten. Eine bessere Lösung wäre eine serververwaltete 2-Faktor-Authentifizierung basierend auf der IP-Adresse:

  • Ermöglichen Sie der Registrierung von Konten
  • Wenn Sie sich anmelden oder versuchen, ein Anmelde-Cookie außerhalb dieses Satzes zu verwenden, wird ein E-Mail-Bestätigungslink mit einer Erinnerung angezeigt, um unbefugten Zugriff zu verhindern.
  • Wenn das neue Der Bereich wird bestätigt, er wird zu den autorisierten Speicherorten hinzugefügt und der älteste in der Liste wird entfernt, um Platz zu schaffen.

Verwalten einer 2-Faktor-Authentifizierungsdatei auf dem Computer des Endbenutzers funktioniert nicht, da der Endbenutzer diese Datei auch verkaufen könnte. Daher muss die 2-Faktor-Authentifizierung serverseitig erfolgen.

Profilieren Sie auch die Spezialisierungs- und Zugriffsfelder der Endbenutzer. Wenn beispielsweise ein Konto eines Physikprofessors plötzlich mit dem Herunterladen von Wirtschafts- und Soziologiepapieren beginnt, sperren Sie es offensichtlich.

Messdatenmengen (ähnlich wie bei mobilen Datenplänen) für Downloads pro Konto. Beispielsweise wird das erste halbe Gigabyte an Artikeln, die ein Benutzer jede Woche herunterlädt, normal heruntergeladen. Danach werden die Downloads dieses Benutzers auf 200 KB / s gedrosselt (ändern Sie die Zahlen nach Belieben). Die meisten Zeitschriftenartikel sind nicht riesig und die Download-Drosselung würde die meisten normalen Benutzer nicht betreffen, wird sich jedoch für Bulk-Downloader als unglaublich frustrierend erweisen.

Downvote.Huh?IP-Adressen?Haben wir die Tatsache übersehen, dass die Leute sie teilen, bei der Arbeit, in Cafés und so weiter?Beeindruckend.
Keine Lösung ist perfekt.IP-Adressen können maskiert oder per Proxy weitergeleitet werden.Es gibt Tools zum Ändern der MAC-Adresse Ihres Computers.Sie müssen also nur die beste Computer- / Benutzer-ID verwenden.
Hatebit
2017-05-05 17:22:53 UTC
view on stackexchange narkive permalink

Sie können die von Ihrer Organisation signierte Client Certificate Authentication (SSL) verwenden. Dies sollte internetweit sein, ähnlich wie ein VPN, aber einfacher und billiger.

Wie verteilen und installieren Sie diese Zertifikate?Wäre dieser Vorschlag nicht im Widerspruch zu den angegebenen Anforderungen?
Nun, der Installationsmechanismus ist in das Betriebssystem integriert, so dass er für den durchschnittlichen Benutzer intuitiv ist.Und sie könnten per E-Mail verteilt werden, obwohl die Anforderung "Der Benutzer sollte nichts herunterladen müssen" etwas vage ist, da wir sowieso über das Herunterladen von Materialien sprechen. Auf der Serverseite könnten Sie eine SQlite-Datenbank für die Kopplung von Benutzerzertifikaten und ein einfaches Skript wie PHP für die Authentifizierung haben, das einen dedizierten Server vermeidet. Die Zertifikate sollten auf Anfrage ausgestellt werden, damit sie den Anforderungen des OP entsprechen.
Wie kann der Benutzer also daran gehindert werden, das Client-Zertifikat zu verkaufen (dasselbe Problem wie beim Cookie)?Ich bin auch nicht der Meinung, dass die Installation eines Zertifikats für Benutzer genauso intuitiv ist wie das Herunterladen eines Artikels von einer Journal-Site ...
@schroeder Ich weiß, ich strecke es viel zu weit, aber ich bin wirklich daran interessiert, eine Antwort zu geben. Nach einigem Googeln scheint es, dass Sie auf der Serverseite erkennen können, ob die Zertifikate gleichzeitig von zwei verschiedenen Computern verwendet werden (oder, noch besser erkennbar, von einem gefälschten MAC / IP).Dies könnte für Kunden ein ausreichender Anreiz sein, das Zertifikat nicht zu teilen. Sollten die Nutzungsbedingungen dies nicht verhindern?Und ist das OP-Problem nicht tatsächlich eine Vertragsverletzung oder gar eine Grundlage für eine strafrechtliche Sanktion?


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...