Come consentire solo al proprietario della chiave pubblica di inviare richieste al mio sito? E come si chiama questo tipo di sicurezza?

0

Probabilmente è stato chiesto più volte qui, ma non lo trovo perché non sono sicuro di cosa cercare.

Sto sviluppando un semplice gateway di pagamento, in cui i partner (consumatori) possono inviare richieste in modo che i loro utenti possano pagare e tornare indietro.

Fornirò ai partner una chiave pubblica (legata al loro nome di dominio), useranno questa chiave sul loro sito web (attraverso un tag src di script su iframe) per acquisire un token di accesso. Questo token di accesso verrà quindi utilizzato per inviare richieste al mio gateway di pagamento.

La domanda è: qual è il termine tecnico in sicurezza per quello che sto cercando di fare? E quali altri metodi ci sono?

Informazioni extra: ho controllato come Paypal implementa i pulsanti Acquista / Iscriviti / Dona, non sembrano inserire informazioni sensibili nell'iframe (del pulsante), come possono assicurarsi del partner?

Nota aggiuntiva: non voglio che i miei partner facciano una chiamata server-server, voglio che l'integrazione sia molto semplice da parte loro.

    
posta medopal 30.04.2013 - 21:26
fonte

2 risposte

2

C'è un piccolo dettaglio qui su come Paypal emette gli ID di applicazione per l'emissione su server che ospiteranno applicazioni che fanno chiamate API a PayPal per conto di commercianti / fornitori di servizi - link

L'approccio che stai prendendo sopra è simile, quindi è un modo per fornire l'autenticazione lato client al gateway del server.

Un modo alternativo per farlo sarebbe quello di emettere certificati che si popolano con i dettagli del client a cui si stanno eseguendo i certificati. Avrebbero quindi installato i certificati sui loro server Web in modo che quei certificati si autenticassero sul certificato del server.

Il problema immediato di cui sopra sembra che se qualcuno ottiene l'accesso alla chiave pubblica che il tuo cliente memorizza in un tag src di script, il tuo client può essere rappresentato e ricevere un token di accesso ... Come tale, forse l'autenticazione dovrebbe essere estratto dal codice accessibile e pubblicato.

    
risposta data 30.04.2013 - 22:13
fonte
1

Questo è spesso noto come servizio o chiave API. Stai provando a configurare un servizio web. In generale, il sito del cliente invia una richiesta di azione da eseguire con un identificatore pubblicabile condivisibile che consente al sistema di identificare chi ha inviato il traffico a modo tuo. Dovrebbe probabilmente essere abbinato a un codice privato che viene utilizzato per il tuo server per rispondere al tuo cliente in un modo che ti consente di confermare che hai fatto tutto ciò che hanno richiesto (insieme ai dettagli della richiesta in modo che possano verificare il loro cliente non lo ha cambiato)

Ad esempio, l'utente Bob potrebbe andare sul sito di BuyStuff.Com del cliente e fare un acquisto. L'importo dell'acquisto e un numero di ordine potrebbero essere inviati con la chiave API pubblica di BuyStuff 1234567 al tuo sito. Il tuo sito saprebbe quindi che è necessario richiedere il pagamento a Bob e saprà che sta per l'account di BuyStuff. Al termine, puoi criptare l'importo pagato e il numero dell'ordine e inviarlo a BuyStuff utilizzando la chiave API privata di BuyStuff in modo che BuyStuff sia a conoscenza del fatto che l'ordine è stato pagato correttamente.

    
risposta data 30.04.2013 - 22:22
fonte

Leggi altre domande sui tag