Je me rends compte que la réponse à cette question est probablement assez évidente (si quelque peu gênant pour moi), mais j'espère que quelqu'un aura une solution ingénieuse.Sécurité quand le code source est public
Je développe lentement une application dans mon temps libre qui j'espère sera utile au travail. C'est une application de suivi simple pour l'attribution d'examens par les pairs. Fondamentalement, j'essaie juste de m'enseigner du C#. Mon problème est que puisque je ne peux vraiment rien installer, et je ne peux pas utiliser mon propre site web pour cela (deux raisons - 1) le DoD ne le permettrait probablement pas, 2) Je veux que ce soit un projet de bureau (WinForms), pas Web), j'utilise Jet (comme Access) comme un magasin de données.
J'ai besoin d'un moyen de protéger la base de données des regards indiscrets, car il y a certaines choses que je veux vraiment qu'un utilisateur de niveau Administrateur (comme un chef d'équipe) puisse accéder. J'ai essentiellement décidé de définir un mot de passe de base de données. Un mot de passe sera choisi au moment de l'installation, utilisé pour sécuriser la base de données, puis crypté pour que l'application prenne, décrypte et utilise pour ouvrir les connexions db.
Mon problème est que je veux que ce code soit quelque peu public. Je veux éventuellement poster mon code sur mon site web, et demander à StackOverflow et peut-être à la programmation subReddit de donner quelques avis et réflexions rapides. Pensez-y comme un programme de mentorat mans pauvres. Pour la maintenance, surtout après avoir quitté ce travail, la source sera éventuellement disponible pour mes collègues. S'ils ont accès au «fichier clé» crypté et à la source, ils seront en mesure de déterminer le mot de passe db.
Y at-il un moyen de coder cela afin que même avec le fichier et le code, mes collègues ne seront pas en mesure d'entrer dans la DB? Je suppose que non, mais ça vaut le coup de demander quelque chose.
S'il n'y a aucun moyen de le faire, je suppose que ma deuxième option est de changer le cryptage quand je l'ai mis sur mon site (changer le cryptage équivalent à un hachage - IV? fournir la source dans un fichier rar protégé par mot de passe, en donnant le mot de passe uniquement à la gestion.
Des idées?
C'était plus une question éducative que n'importe quoi. Pour ce que je suis en train de faire cela, si quelqu'un veut que la base de données soit assez mauvaise pour qu'il casse le mot de passe d'accès ou qu'il creuse dans mon code, alors il peut le faire. La seule chose que cela "sécurise" vraiment est que le chef d'équipe choisirait qui pourrait effectuer certains types de révision. L'outil interne que nous utilisons pour compléter les évaluations (nous avons une liste de contrôle, en plus du bon sens des évaluateurs) permet à quiconque de faire une critique pour quelqu'un d'autre. À l'heure actuelle, les gens envoient des spams à l'équipe à la recherche d'avis, ce qui facilite le contrôle. – AgentConundrum
(suite) C'est juste pour rendre les choses visibles d'une manière plus conviviale, etc. C'est vraiment juste un projet pour animaux de compagnie à des fins d'apprentissage. Merci pour la réponse, vous venez de renforcer ce que je savais déjà. :) – AgentConundrum
Je ne suis pas sûr de savoir quoi faire ici, puisque je cherchais vraiment à utiliser le mot de passe de niveau db. Devrais-je garder la source privée, au moins pour les trucs de mot de passe DB? Dois-je avoir un mot de passe au niveau de l'application (peut-être automatisé en quelque sorte) qui est haché pour obtenir le mot de passe * real *, et l'utiliser pour l'accès à la base de données. J'adorerais utiliser autre chose pour cela, puisque Access/Jet semble être un cauchemar pour la sécurité, mais une combinaison de l'environnement et de mes propres connaissances (actuelles) en fait une option moins viable pour moi pour l'instant. Désolé si ça ne se voit pas, je veux juste apprendre. – AgentConundrum