2010-11-23 4 views
4

Есть ли способ защитить себя от кражи личных данных?Есть ли способ защитить себя от кражи идентификационной информации?

Дело в том, что кто-то сознательно совершает ошибки в коде, используя другое имя разработчика, с целью заставить его уволить или неправильно зачислить.

Есть ли способ остановить это, или это не проблема?

+1

Возможно, интересное чтение (в нем нет решения): http://greenspringdesign.com/blog/?p=11 – Lucero 2010-11-23 10:35:19

+0

Что делать, если я работаю над изменением с другим разработчиком, и мы передаем пакеты назад и (чтобы не загрязнять основное репо). В конце я мог бы надавить на них свое имя, но это было бы совершенно законно. – robert 2010-11-23 10:54:55

+0

@robert, exaccty это точка зрения DVCS - каждый может выдвигать изменения, которые могут включать изменения, сделанные другими лицами. Поэтому вам как-то нужно проверить, доверяете ли вы поручениям, которые нужно нажать, и это может быть достигнуто за счет использования криптографического подписи в фиксации (что похоже на подписание электронной почты или любых данных для подтверждения личности). Затем сервер может проверять сигнатуры фиксации на список доверенных объектов (сертификаты, центр сертификации и т. Д.), Чтобы гарантировать выполнение только доверенных коммитов. Каждая подпись может быть сопоставлена ​​с отдельным владельцем. – Lucero 2010-11-23 12:14:16

ответ

7

Я не знаю, как на самом деле ограничивать коммиты, а не включать «украденную» личность, но если у вас есть централизованный репозиторий, вы должны иметь возможность безопасно проверять, кто нажал на какие-либо изменения на сервере, и тем самым отследите личность вора.


Edit: там, кажется, поддержка подписания совершает два расширений, CommitsigsExtension, а также, казалось бы, менее безопасным подходом, реализуемого GpgExtension.

Подписание изменений эффективно предотвращает кражу личных данных, так как вор не имеет закрытого ключа идентичности, которую он хочет украсть, тем самым он не может подписать фиксацию.

0

Используйте контроль доступа на «основном» репо и запросах журнала. Если вы регистрируете тех, кто аутентифицирован, чтобы нажимать каждую фиксацию, вы можете сказать, кто действительно нажал конкретную фиксацию, независимо от информации в репозитории.

2

Проект Mozilla делает это в виде pushlog. Они внесли тривиальное изменение в веб-шаблоны, чтобы показать вывод pushlog, который легко создается в момент времени, используя крючок changeset. Вот что выглядит их журнал, как:

http://hg.mozilla.org/mozilla-central/pushloghtml

крючок, который создает такой журнал может быть столь же легко, как:

[hooks] 
changeset = echo $REMOTE_USER pushed HG_NODE >> /path/to/my/pushlog 

На практике это одна из тех вещей, что все думает, что будет когда они впервые услышат, что поле «пользователь» полностью фальсифицировано, но на практике это просто никогда не является проблемой.