Bonjour à tous,
Je fais appel à votre sagesse pour résoudre un problème de sécurité.
Exposé de la situation:
J'ai un fichier Excel ("Activité") que je souhaite protéger
J'ai donc protégé ce fichier par mot de passe (feuille, classeur, chiffrement à l'ouverture et code vba)
Pour accéder à "Activité" j'ai créé un fichier ("Accès") intermédiaire protégé (feuille, classeur, chiffrement à l'ouverture et code vba) qui fonctionne par macro, on clique sur un bouton et ça ouvre le fichier.
Pourquoi faire ?
1. Accéder à un fichier par macro active automatiquement les macros sur le fichier qui s'ouvre
2. Les utilisateurs n'ont pas le mot de passe du fichier "Activité", seulement celui de "Accès"
Résultat:
1. Mon fichier "Activité" est chiffré par un mot de passe et les macros sont forcément activées
2. Toute suppression du chiffrement de "Activité" échoue puisque le fichier est sécurisé par macro et reprotégé à chaque sauvegarde
3. Impossible d''enregistrer sous' car protégé par Macro
4. En conséquence on ne peut pas retirer les sécurités 'faibles' (feuille, classeur et code vba) facilement hackable (passer en zip, ouvrir avec un hex et remplacer DPB) du fichier "Activité" car protégé par le le mot de passe 'fort' (chiffrement AES 256 pour ouverture du fichier) qui n'est pas connu.
Mon problème:
Le mot de passe pour ouvrir "Activité" est en clair dans mon code VBA contenu dans "Accès" (normal puisque j'ouvre "Activité" depuis "Accès") et comme le mot de passe pour ouvrir "Accès" est connu des utilisateurs et potentiellement ouvrable sans activer les macros, un petit malin pourrait ouvrir "Accès" sans activer les macros, retirer le mot de passe de chiffrement, sauvegarder, et hacker le mot de passe du code VBA et avoir finalement accès au mot de passe de "Activité" stocké dans le code VBA de "Accès"...
Mon besoin:
J'ai besoin de protéger une chaine de caractère (le mot de passe de "Activité") pour qu'elle ne soit pas visible en clair ou accessible par une personne mal intentionnée...
Mes pistes à l'heure actuelle:
* un fichier xll ou dll ==> Je n'ai pas la compétence pour l'instant mais un connaisseur pourrait-il me dire s'il s'agit d'une solution fiable avant de me lancer ?
* utiliser le mot de passe du code VBA de "Accès" comme base pour déterminer le code de "Activité" ==> Ma logique étant que hacker le mot de passe qui protège le code VBA détruit ce mot de passe mais ne le donne pas au hacker. Quelqu'un saurait-il récupérer ce mot de passe ?
Toute aide, idée, soutien, suggestion, commentaire sont les bienvenus pour m'aider à trouver une solution à ce problème
Merci d'avance pour votre temps
PS: Si quelque chose n'est pas clair ou que vous avez besoin d'autres informations, n'hésitez pas à me demander je répondrai aussi vite que possible.