Question

Quelles sont les principales caractéristiques dois-je prendre en compte si je veux créer une preuve de fraude simple et système non répudiation? Pour cette question, je me concentre principalement sur l'intégrité des lignes de base de données. Ce n'est pas une question d'autorisation de sécurité.

En utilisant une base de données de football par exemple, une partie de la clé dispose que je mettre en œuvre sont:

  1. Prevent DBA de modifier les données de ligne en utilisant SQL traditionnel. Par exemple, si la ligne de base de données a déjà enregistré 2: 1 à la suite, si DBA a changé le résultat 2: 3, nous devrions être en mesure de détecter la modification. Toutes les modifications doivent être effectuées via l'application principale.

  2. empêcher la copie d'une rangée des données à une autre rangée d'utiliser les changements d'arrière-plan. Nous devrions être en mesure de détecter les changements de fraude.

Y at-il d'autres problèmes ou caractéristiques que je devrait envisager de rendre mon système de preuve plus la fraude? Quelles sont les meilleures pratiques que je devrais être au courant? Tous les pointeurs seraient les plus appréciés.

Un grand merci à l'avance.

Était-ce utile?

La solution

Créer une colonne qui est une signature cryptographique des autres colonnes. Tant que l'ID est inclus dans le calcul de la signature, vous ne pouvez copier une ligne, car l'ID changerait. Aucune modification ne peut être effectuée sans recalculant le hachage, de sorte que le changement du DBA serait détectable aussi.

Cela ne traite pas le problème de CBM suppression lignes, vous l'esprit - il valide seulement que chaque ligne individuelle est passé par la logique commerciale appropriée. Vous pourriez éventuellement inclure une signature pour toute la table, mais cela commence à devenir assez lourd!

Bien sûr, à un moment donné vous avez besoin d'un secret - la partie privée de la clé de signature. Votre code aura besoin d'accéder à ce ... et celui qui écrit que le code peut inclure une porte arrière à s'e-mail la clé privée, etc. Tôt ou tard, vous devez faire confiance quelqu'un , Je soupçonne. (Vous pouvez appliquer plusieurs signatures, bien sûr, de différentes équipes -. De sorte que les équipes devraient agir de concert pour quoi que ce soit de forge)

Autres conseils

Pour être tout à fait franc. Vous perdez votre temps

ont DBAs l'équivalent d'un accès root à votre base de données. Sinon, ils vont être plutôt inefficace. Les mêmes questions se posent avec les administrateurs système et fondamentalement tout ce que vous pouvez faire est un peu plus d'un placebo au mieux. La seule chose que vous pouvez faire à une personne malveillante avec ce niveau d'accès est leur donne pas accès à commencer.

Le mieux que vous pouvez faire est de faire un petit plus dur en créant une piste de vérification. Connectez-vous lorsque les utilisateurs se connectent, fermez la session, ce qu'ils font, quels événements les de système répond à et ainsi de suite. La seule valeur réelle de cela est en mesure de reconstruire (je l'espère) ce qui est arrivé si vous décidez d'aller manuellement et regarder plus tard.

En ce qui concerne la modification du résultat d'un match de football, demandez-vous comment est probable que se produise. Bien sûr, il ne change pas vraiment le résultat du match de football. Il suffit de changer la façon dont il a été enregistré. Toute personne qui a vu ou participé seront au courant du résultat réel de sorte que la valeur est là en personne changer le système?

Dans les entreprises, l'erreur et la méchanceté et la manipulation par des processus de réconciliation. Un courtier en valeurs mobilières aura une équipe qui exécute des rapports sur ce qui est sur le système et le comparer aux transactions bancaires effectuées réellement. Tout écart se drapeau rouge. Ainsi, vous pouvez changer votre équilibre sur le système mais seront sauvegardés.

L'autre partie de ce casse-tête est que les restrictions sur l'activité de DBA ne résoudra pas vraiment le problème. Les développeurs d'applications peuvent libérer du code arbitraire. Même si elle est revue le système peut briser encore vers le bas aux ingénieurs de construction ou une personne ayant accès au niveau de la racine à l'environnement de production la compilation d'une version modifiée et en cours d'exécution qui.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top